home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 3: Developer Tools / Linux Cubed Series 3 - Developer Tools.iso / devel / lang / lisp / guile-ii.src / guile-ii / guile-src / libguile / ChangeLog.scm < prev    next >
Encoding:
Text File  |  1995-06-08  |  82.2 KB  |  2,611 lines

  1. Wed Apr  5 14:32:51 1995  Gary Houston  <ghouston@actrix.gen.nz>
  2.  
  3.     * unix.c, ioext.c, posix.c, sys.c: Scheme name changes, 
  4.       semantic cleanups, the port table, missing system calls 
  5.       and coding cleanups from ghouston@actrix.gen.nz
  6.  
  7. Thu Mar 16 14:37:38 1995  Tom Lord  <lord@x1.cygnus.com>
  8.  
  9.     * guile.c: fixed the gcc-specific definition of the macro "AT(x)".
  10.  
  11.     * guile.c (gscm_init_from_fn): Parameterize what init functions
  12.     get called (see guile_ks, below).
  13.  
  14.     * guile-mini.c (guile_mini): a minimalist alternative to guile_ks.
  15.  
  16.     * guile-ks.c (guile_ks): factor out the call to optional inits to
  17.     a separate file so you can link against libguile without getting
  18.     the kitchen sink.
  19.  
  20.     * Ginit.scm (try-load of "ScmInit.scm"): Be robust in the absense
  21.     of a binding for the environment varialbe HOME.  Try
  22.      (getpw (geteuid)) or just use "/".
  23.     
  24.  
  25. Thu Mar  9 15:35:20 1995  Tom Lord  <lord@x1.cygnus.com>
  26.  
  27.     * gmain.c (main): Print additional error message if init file
  28.       can't be opened.
  29.  
  30.     * guile.c (initialize_gscm): Report an error if the 
  31.       init file can't be opened.
  32.  
  33. Thu Mar 23 23:22:59 1995  Aubrey Jaffer  (jaffer@jacal)
  34.  
  35.     * scm.texi (I/O-Extensions): Finished.
  36.  
  37.     * Init.scm (scm:load): `loading' messages now indented.
  38.  
  39. Sat Mar  4 20:58:51 1995  Aubrey Jaffer  (jaffer@jacal)
  40.  
  41.     * scm.texi: documentation finished for "posix.c" and "unix.c".
  42.  
  43.     * posix.c (scm_getgroups): added.
  44.  
  45.     * posix.c (makfrom0str): According to glibc.info, some field in
  46.     structures like pwent may have NULL pointers.  Changed makfrom0str
  47.     to return BOOL_F in this case.
  48.  
  49. Thu Mar  2 12:52:25 1995  Aubrey Jaffer  (jaffer@jacal)
  50.  
  51.     * time.c: CLKTCK set from CLOCKS_PER_SEC, if available.  Metaware
  52.     HighC ported.
  53.  
  54.     * scm.h: USE_ANSI_PROTOTYPES now controls prototypes (was
  55.     __STDC__).  This allows an overly fussy compiler to still have
  56.     __STDC__.
  57.  
  58.     From: dorai@ses.com (Dorai Sitaram)
  59.     * ioext.c (l_utime): include files fixed for __EMX__
  60.  
  61. Sun Feb 26 23:46:18 1995  Tom Lord  <lord@x1.cygnus.com>
  62.  
  63.     * repl.c (scm_app_wdr): Like scm_apply, but takes an error function.
  64.       The caller's continuation is never captured or escaped.
  65.       The error function is invoked as with scm_cwdr.
  66.  
  67. Sun Feb 26 21:03:04 1995  Aubrey Jaffer  (jaffer@jacal)
  68.  
  69.     * sys.c (gc_mark gc_sweep): tc7_ssymbol now gets GCed because it
  70.     gets used for non-GCed strings in scm_evalstr scm_loadstr.
  71.     (mkstrport cwos cwis): changed so caller's name is passed into
  72.     mkstrport().
  73.  
  74.     * repl.c
  75.     (scm_eval_string scm_evalstr scm_load_string scm_loadstr): added
  76.     for easier C to scheme callbacks.
  77.     (loadport): variable added so lreadr() and flush_ws()
  78.     increment linum only when reading from the correct port.
  79.     (def_err_response): now handles ARGn for argument numbers > 5 and
  80.     unknown position arguments.
  81.  
  82.     * dynl.c: Dynamic Linking now sets and restores *load-pathname*
  83.     around the init_ call.
  84.  
  85. Sat Feb 25 11:03:56 1995  Aubrey Jaffer  (jaffer@jacal)
  86.  
  87.     * scm.c (lsystem getenv softtype ed vms_debug): moved from scl.c.
  88.     (add_feature): moved from repl.c.
  89.     (features): init table removed (caused multiple symbols).
  90.  
  91. Fri Feb 24 23:48:03 1995  Aubrey Jaffer  (jaffer@jacal)
  92.  
  93.     * scm.c (scm_init_extensions COMPILED_INITS): Added so that
  94.     statically linked, compiled code can be initialized *after* most
  95.     of Init.scm has loaded.
  96.  
  97. Wed Feb 22 15:54:01 1995  Aubrey Jaffer  (jaffer@jacal)
  98.  
  99.     * subr.c (append): Added check for bad arguments and fixed errobj.
  100.  
  101. Sun Feb 19 01:31:59 1995  Aubrey Jaffer  (jaffer@jacal)
  102.  
  103.     * ioext.c (exec execp): changed so that 2nd arguments is argv[0]
  104.     (like posix) and renamed to execl and execlp.
  105.     (execv execvp): added.
  106.  
  107. Sat Feb 11 17:30:14 1995  Aubrey Jaffer  (jaffer@jacal)
  108.  
  109.     * ioext.c (lexec): moved from repl.c and scm.c.
  110.     (lexecp i_exec l_putenv): added.
  111.  
  112.     * posix.c (open_pipe l_open_input_pipe l_open_output_pipe
  113.     prinpipe):  moved from ioext.c.
  114.     (l_fork): added.
  115.  
  116. Fri Feb 10 10:50:03 1995  Aubrey Jaffer  (jaffer@jacal)
  117.  
  118.     * scl.c (num2long long2num): moved here from subr.c.
  119.     (num2ulong): fixed (< to >=) bug.
  120.  
  121.     * unif.c (aset array2list array_ref cvref): uniform integers and
  122.     unsigned integer arrays now handle full size integers (and
  123.     inexacts) using num2long, num2ulong, long2num, and ulong2num when
  124.     INUMS_ONLY is not defined.
  125.  
  126.     * scmfig.h (INUMS_ONLY): defined when INUMs are the only numbers.
  127.  
  128. Wed Feb  8 17:57:26 1995  Tom Lord  (lord@x1.cygnus.com)
  129.  
  130.     * Ginit.scm (stand-alone-repl): Use new function (rooted-repl)
  131.       (rooted-repl):  new function
  132.  
  133. Tue Jan 31 16:46:26 1995  Tom Lord  (lord@x1.cygnus.com)
  134.  
  135.     * repl.c (lreadr): compare string constant names
  136.       in a case insensative way.
  137.  
  138.       (scm_lread): Take an optional parameter CASEP.
  139.       If specified and not #f, then symbols are read
  140.       in a case sensative way.
  141.  
  142.       If not specified, the state variable default_case_i is checked
  143.       (a C int, either 0 or 1).  The state variable hasn't been
  144.       exposed and so is constant and depends on compile-time flags --
  145.       but in the future it might be made more explicit if there is a
  146.       need.
  147.  
  148. Sun Jan 29 23:22:40 1995  Aubrey Jaffer  (jaffer@jacal)
  149.  
  150.     * scm.texi (Overview): scm.1 converted to texinfo format and
  151.     incorporated.
  152.  
  153. Sat Jan 28 23:11:40 1995  Tom Lord  (lord@x1.cygnus.com)
  154.  
  155.     * repl.c (compiled-library-path): return the value of the
  156.       compile-time cpp macro "LIBRARY_PATH" or #f.
  157.  
  158.     * Ginit.scm: use the above path to find slib on unix.
  159.       This solution should be generalized.
  160.  
  161. Fri Jan 27 19:58:27 1995  Tom Lord  (lord@x1.cygnus.com)
  162.  
  163.     * sys.c (gc_sweep): Fixed a gc bug that caused circular free-lists
  164.       resulting in Cells that thought they were free long after they
  165.       were allocated for some nefarious purpose or other.
  166.  
  167.     * Makefile.in (manifest): ship all pieces of the info manual.
  168.       Typos fixes from ghouston.
  169.  
  170. Thu Jan 26 01:52:00 1995  Tom Lord  <lord@x1.cygnus.com>
  171.  
  172.     From: cessu@cs.hut.fi (Kenneth Oksanen)
  173.  
  174.     * configure.in: 
  175.       AC_CHECK_LIB(nsl, gethostent)
  176.       AC_CHECK_LIB(ucb, bzero)
  177.       AC_CHECK_LIB(socket, socket)
  178.       AC_CHECK_LIB(bsd, bzero)
  179.  
  180.  
  181.      From: brent@jade.ssd.csd.harris.com (Brent Benson)
  182.  
  183.     * gmain.c: line 31: In ANSI C, string literals cannot span multiple
  184.       source lines.
  185.  
  186.       * guile.c: line 592: The two cases in the ifdef are reversed, AT(X)
  187.       should expand to nothing if you are *not* using GNUC.
  188.  
  189.     * ioext.c: line 29: On my system it is necessary to 
  190.       include <unistd.h> *before* <sys/stat.h> in order to 
  191.       have the correct types defined.
  192.  
  193.     * ioext.c: line 194: Declaration of popen conflicts with my system's
  194.       popen() defined in <unistd.h>.  Let the header file provide the
  195.       prototype!!
  196.  
  197. Sun Jan 22 11:13:58 1995  Aubrey Jaffer  (jaffer@jacal)
  198.  
  199.     * scm.texi (Internals): code.doc converted to texinfo format.
  200.     Much added and reorganized.  code.doc removed.
  201.  
  202. Thu Jan 19 00:40:11 1995  Aubrey Jaffer  (jaffer@jacal)
  203.  
  204.     * subr.c (logbitp logtest): added.
  205.  
  206. Mon Jan 16 01:42:20 1995  Tom Lord  <lord@x1.cygnus.com>
  207.  
  208.     * repl.c (scm_repl): takes two arguments now (prompt and top-level).
  209.     Callable from Scheme.
  210.  
  211.     * sys.c (scm_init_storage): only use stdin if scm_take_stdin is true.
  212.     Otherwise, use an empty string port. If using stdin, make it 
  213.     unbuffered.
  214.  
  215. Sun Jan 15 21:51:37 1995  Tom Lord  <lord@x1.cygnus.com>
  216.  
  217.     * sys.c (scm_mkarray, scm_free_array, mark_arrays): support for 
  218.     C programs.  malloc/free style interface to allcoating
  219.     protected storage of type SCM*.
  220.  
  221. Sun Jan 15 17:49:43 1995  Tom Lord  (lord@x1.cygnus.com)
  222.  
  223.     * guile.c: new file.  Friendly C interface for Guile.
  224.       (see file GUILE)
  225.  
  226.     * repl.c (scm_cwdr): added call-with-dynamic-root (see scm.texi).
  227.  
  228. Sat Jan 14 23:35:21 1995  Tom Lord  (lord@x1.cygnus.com)
  229.  
  230.     * repl.c, subr.c: re-arrangement, commenting
  231.       of source in preparation for pulling repls apart
  232.       for libguile.
  233.  
  234. Wed Jan 11 14:45:17 1995  Aubrey Jaffer  (jaffer@jacal)
  235.  
  236.     * scl.c (num2ulong): checks for bignum sign and magnitude added.
  237.  
  238.     * subr.c (logand logior logxor lognot): lognot restriction to
  239.     INUMs removed.  Logand, logior, and logxor now will work for up to
  240.     32 bit signed numbers.
  241.  
  242. Tue Jan 10 13:19:52 1995  Aubrey Jaffer  (jaffer@jacal)
  243.  
  244.     * repl.c (def_err_response): Circuitous call to quit() replaced
  245.     with exit(EXIT_FAILURE);
  246.     (everr): Now calls def_err_response() in interrupt frame if
  247.     errjmp_bad or there are dynwinds to do.  This prevents silent
  248.     failure in batch mode.
  249.  
  250.  
  251. Mon Jan  9 00:12:14 1995  Aubrey Jaffer  (jaffer@jacal)
  252.  
  253.     * repl.c (handle_it): Now discards possibly used top freelist cell
  254.     for GC safety.  Also now just punts if errjmp_bad.
  255.  
  256.     * scm.texi: converted from MANUAL.  GUILE documentation merged in.
  257.  
  258. Sat Jan  7 13:51:04 1995  Miles Bader  (miles@eskimo.com)
  259.  
  260.     * mrequire.scm: New file: Wrapper for slib require/provide that
  261.     makes it modular (that is, each slib package is loaded into its
  262.     own module, and sees only other modules that it requires).
  263.  
  264.     * defmod.scm: Allow use-interface in the default module.
  265.  
  266.     * libguile.scm: Put symbols common to both guile and scm
  267.     interfaces into the internal interface `EXTRA' (which is included
  268.     by both).  Other random shuffling, mostly to make slib happy.
  269.  
  270.     * modops.scm (extend-interface, export-interface, export): Add
  271.     another operation type, #f, which turns off automatic exporting of
  272.     the current source interface when finishing up with it.  This is
  273.     used by export-interface to prevent trying to export all symbols.
  274.  
  275.     * modops.scm (import): No longer signal an error when trying to
  276.     export a whole module, as we want to do this sometimes.
  277.  
  278.     * Ginit.scm: No longer try to load require.scm, or depend on it;
  279.     In the case of getopt, we just load it manually.  Also make
  280.     defmacro module-safe.
  281.  
  282. Sat Jan  7 01:54:11 1995  Tom Lord  <lord@x1.cygnus.com>
  283.  
  284.     * sys.c (scm_intern_obarray_soft): Reserve room for symbol slots.
  285.  
  286.     * sys.c (scm_makstr, scm_makfromstr): added an extra parameter SLOTS.
  287.     The parameter means:
  288.         0: same as the old behavior
  289.         1: not useful
  290.         > 1: allocate SLOTS - 1 extra slots in the string storage.
  291.  
  292.     The base address of SLOTS, an array of SCM, is at SLOTS(obj).
  293.     This is for symbol slots, and later for procedure slots.
  294.     If you use this in the constructor for your new type (usually
  295.     done by creating a string and then invoking SETLENGTH to change
  296.     its type), you are responsible for making sure slot contents
  297.     are properly gc'ed.
  298.  
  299.     Callers of these were fixed as well.
  300.  
  301. Tue Jan  3 14:30:34 1995  Miles Bader  (miles@eskimo.com)
  302.  
  303.     * modops.scm, extlibs.scm, libguile.scm, defmod.scm: New files:
  304.         These implement the user-level module system.
  305.  
  306.     * sys.c (scm_sym2vcell): Add another argument: definedp, which is
  307.         passed as additional argument to the lookup-thunk (if any).
  308.         If this argument is BOOL_T, this lookup is for a define (which
  309.         has somewhat different semantics for modules); otherwise it
  310.         should be satisfied with an existing variable.  If the thunk
  311.         returns BOOL_F (meaning there was no such variable), sym2vcell
  312.         returns BOOL_F as well.
  313.     * eval.c (scm_lookupcar, scm_m_define): Use the new sym2vcell param.
  314.     * variable.c (scm_builtin_var): Use the new sym2vcell param.
  315.  
  316.     * eval.c (scm_top_level_env): New function: return an environment
  317.         using the given top-level-lookup thunk.
  318.     * eval.c (scm_eval2): Use scm_top_level_env.
  319.     * eval.c (scm_eval): Use an env with a top-level lookup thunk from
  320.         scm_top_level_lookup_thunk_var (aka *top-level-lookup-thunk*).
  321.     * eval.c (scm_neval): New function: just like scm_eval, but may
  322.         destroy its argument.  Known in scheme as eval!.
  323.  
  324.     * repl.c (scm_repl, scm_tryload, lreadr): Use scm_neval, not eval_3.
  325.  
  326.     * Ginit.scm (make-module): Use the new definition of top-level thunks.
  327.     * Ginit.scm (set-current-module): Set *top-level-lookup-thunk* too.
  328.     * Ginit.scm: Trash all the repl stuff; we just use the C repl now.
  329.         Load the user module system.
  330.  
  331.     * Makefile.in: Install the user-module implementation files.
  332.  
  333. Mon Jan  2 16:27:25 1995  Miles Bader  (miles@eskimo.com)
  334.  
  335.     * Ginit.scm (repl:repl): Have the guile repl redefine try-load
  336.        instead of load, as this is the SCM primitive.
  337.     (module-for-each): Write module-for-each.
  338.     (module-search): Make this recurse into each module use-list
  339.        entry, as per the low-level module spec.
  340.     (define-macro): Make this function usable by modules that don't
  341.        have access to the internals of the guile module.
  342.  
  343. Sun Jan  1 22:30:25 1995  Tom Lord  <lord@x1.cygnus.com>
  344.  
  345.     * repl.c (scm_iprin1), subr.c (scm_lock_vector, scm_unlock_vector,
  346.     scm_lvector_ref, scm_lvector_set):
  347.  
  348.     Added locked vectors.  See N
  349.  
  350. Sat Dec 31 15:45:22 1994  Miles Bader <miles@eskimo.com>
  351.  
  352.     * Ginit.scm: 
  353.     Add define-macro, delq!.
  354.  
  355.     Add a module print-function, and some new name fields 
  356.     to the module that the modops code uses to make modules 
  357.     print nicely (e.g., #<interface guile/module 7a89c>)
  358.  
  359.  
  360.     * eval.c(ceval): Here's a patch that makes closures & subrs 
  361.     self-evaluating.  
  362.  
  363.  
  364. Wed Dec 28 00:31:22 1994  Tom Lord  <lord@cygnus.com>
  365.  
  366.     * scm.c (raise): use kill not raise, since it is more portable.
  367.  
  368. Wed Dec 21 05:18:47 1994  Tom Lord  <lord@x1.cygnus.com>
  369.  
  370.     * eval.c (scm_eval2): Two argument eval.  The 
  371.     second argument is #f or a proc returning a variable.
  372.  
  373. Fri Dec  9 00:40:26 1994  Tom Lord  <lord@x1.cygnus.com>
  374.  
  375.     * eval.c (scm_fasl_eval): eval without copying the source form.
  376.     This is just a temporary hack.
  377.  
  378. Sun Dec  4 21:50:37 1994  Tom Lord  <lord@x1.cygnus.com>
  379.  
  380.     * eval.c (scm_ceval): Added special forms LITERAL-VARIABLE-SET!
  381.     and LITERAL-VARIABLE-REF.  The first argument of each is a 
  382.     variable object (see variable.c).  The second argument
  383.     of set! is an expression.  They do what you'd expect.
  384.     -SET! returns UNSPECIFIED.
  385.  
  386.     Note that one can not read a form which uses literal-variable* 
  387.     correctly because there is no way to read a variable object.
  388.     These forms exist for the sake of the module system.
  389.  
  390. Fri Dec  2 19:52:40 1994  Tom Lord  (lord@x1.cygnus.com)
  391.  
  392.     * subr.c (string->obarray-symbol, intern-symbol, unintern-symbol,
  393.               symbol-set!, symbol-binding)
  394.       Multiple obarrays.
  395.  
  396.     * variable.c (scm_make_variable, scm_variable_{ref,set}
  397.       Implemented variables.  Variables are anonymous
  398.       objects holding one settable value.
  399.  
  400. Wed Nov 30 04:31:18 1994  Tom Lord  (lord@x1.cygnus.com)
  401.  
  402.     * *.[ch]: renamed all global identifiers to have the prefix scm_.
  403.  
  404.     * sys.c (gc_sweep, scm_mark_locations, scm_init_heap):
  405.       
  406.        Modified gc to allow objects of any multiple of sizeof(CELLPTR).
  407.        In addition, each heap segment gets to specify a freelist (which
  408.        may be shared).
  409.       
  410.        new function: scm_alloc_obj
  411.        new vars: scm_heap_table (replaces hplims)
  412.                  scm_n_heap_segs (replaces (hpims_ind / 2))
  413.  
  414. Thu Oct 27 12:57:02 1994  Aubrey Jaffer  (jaffer@jacal)
  415.  
  416.     From: Jerry D. Hedden <hedden@esdsdf.dnet.ge.com>
  417.     * ioext.c: conditional code for vms and version (3.6) of Aztec C.
  418.     * pi.scm ((e digits)): Modified 'bigpi' for slight speed
  419.     improvement.  Added function to calculate digits of 'e'.
  420.  
  421. Wed Oct 26 11:22:05 1994  Aubrey Jaffer  (jaffer@jacal)
  422.  
  423.     From: Gary Houston <ghouston@actrix.gen.nz>
  424.     * scl.c (round): Now rounds as described in R4RS.
  425.  
  426.     * test.scm (test-inexact): test cases for round.
  427.  
  428. Tue Oct 25 00:02:27 1994  Aubrey Jaffer  (jaffer@jacal)
  429.  
  430.     * sys.c    (grow_throw lthrow dynthrow): now pass arrays, check
  431.     for adequate growth, and clear out register windows (on sparc).
  432.  
  433. Mon Oct 24 01:05:34 1994  Aubrey Jaffer  (jaffer@jacal)
  434.  
  435.     * ioext.c (ttyname fileno): added.
  436.  
  437. Sat Oct 22 12:12:57 1994  Aubrey Jaffer  (jaffer@jacal)
  438.  
  439.     * unix.c (symlink readlink lstat): added.
  440.  
  441.     * scmfig.h repl.c sys.c (IO_EXTENSIONS): flag removed.
  442.  
  443.     * ioext.c (read-line read-line! file-position, file-set-position
  444.     reopen-file open-pipe opendir readdir rewinddir closedir chdir
  445.     umask rename-file isatty? access chmod mkdir rmdir stat utime
  446.     raise): moved from "repl.c" and "sys.c".
  447.  
  448. Fri Oct 21 21:19:13 1994  Aubrey Jaffer  (jaffer@jacal)
  449.  
  450.     From: Radey Shouman <shouman@ccwf.cc.utexas.edu>
  451.     * unif.c (ra2contig): now has a second parameter to indicate
  452.     whether copying is necessary or not.  Eliminates gratuitous copy
  453.     by UNIFORM-ARRAY-READ! when called with a noncontiguous array.
  454.  
  455.     (array_map): more liberal check on when ARRAY-MAP! can use
  456.     array-ified asubrs.
  457.  
  458. Thu Oct 20 18:00:35 1994  Aubrey Jaffer  (jaffer@jacal)
  459.  
  460.     * sys.c (opendir readdir rewinddir closedir reopen-file): added
  461.     under IO_EXTENSIONS.
  462.  
  463. Wed Oct 19 14:18:26 1994  Aubrey Jaffer  (jaffer@jacal)
  464.  
  465.     * eval.c (badargsp): added under ifndef RECKLESS to check @apply
  466.     and apply() arg counts.
  467.  
  468. Tue Oct 18 00:02:10 1994  Aubrey Jaffer  (jaffer@jacal)
  469.  
  470.     * unix.c (mknod acct nice sync): added.
  471.  
  472.     * socket.c (socket bind! gethost connect! listen! accept): added.
  473.  
  474.     * time.c (utime): added under IO_EXTENSIONS.
  475.  
  476. Mon Oct 17 23:49:06 1994  Aubrey Jaffer  (jaffer@jacal)
  477.  
  478.     * sys.c (getcwd umask access chmod mkdir rmdir): added
  479.     under IO_EXTENSIONS.
  480.  
  481.     * scm.c (l_pause): added if SIGALRM defined.
  482.     (l_sleep): added if SIGALRM not defined.
  483.  
  484.     * scl.c (num2ulong): added.  Used in "time.c"
  485.  
  486. Sun Oct 16 22:41:04 1994  Aubrey Jaffer  (jaffer@jacal)
  487.  
  488.     * sys.c (access chmod): Posix access added under IO_EXTENSIONS.
  489.  
  490. Fri Oct 14 09:45:32 1994  Aubrey Jaffer  (jaffer@jacal)
  491.  
  492.     * posix.c (chown link pipe waitpid, kill, getpw, getgr, get*id,
  493.     set*id): added.
  494.  
  495.     * time.c (l_raise l_getpid): added
  496.     * subr.c (ulong2big):
  497.     * scl.c (ulong2num): useful routines for system call data
  498.     conversion moved from "time.c".
  499.  
  500. Thu Sep 22 14:48:16 1994  Aubrey Jaffer  (jaffer@jacal)
  501.  
  502.     * subr.c (big2inum): (more accruately) renamed from big2long.
  503.  
  504. Tue Sep  6 22:22:16 1994  Aubrey Jaffer  (jaffer@jacal)
  505.  
  506.     From: rshouman@hpcf.cc.utexas.edu (Radey Shouman)
  507.     Date: Mon, 29 Aug 1994 11:36:46 +0600
  508.     * unif.c: This is a large patch, but also a bit larger than it
  509.     appears -- I moved a few function definitions around to eliminate
  510.     gratuitous forward references.
  511.  
  512.     * unif.c repl.c (raprin1): Combined print routine for arrays with
  513.     that for uves.
  514.  
  515.     * unif.c (UNIFORM-VECTOR-READ! and -WRITE): work with general
  516.     arrays, by copying when necessary, renamed them to
  517.     UNIFORM-ARRAY-READ! and -WRITE.
  518.  
  519.     * unif.c (ARRAY-CONTENTS): Generalized so that it returns a 1-d
  520.     array even when the stride in the last dimension is greater than
  521.     one, gave it an optional second argument STRICT, which makes it
  522.     behave as it did before, returning an array/vector only if the
  523.     contents are contiguous in memory.
  524.  
  525.     * unif.c (ARRAY-CONTIGUOUS?) Eliminated. Instead, use
  526.         (lambda (ra) (array? (array-contents ra #t)))
  527.  
  528.     * unif.c code.doc (ramapc): unrolls arrays mapping into one loop
  529.     if possible, to make this quick, changed the format of the array
  530.     CAR, now uses one bit to indicate that an array is contiguous --
  531.     this still allows a ridiculous number of dimensions.
  532.  
  533.     * scm.h (DSUBRF): dsubrs are mapped directly, to allow this I
  534.     moved the typedef for dsubr and #define for DSUBRF to scm.h
  535.  
  536.     * unif.c (ARRAY-MAP!) taught something about subrs, now most subrs
  537.     may be mapped without going through apply(), saving time and
  538.     reducing consing.  +, -, *, /, =, <, <=, >, and >= are mapped
  539.     directly as special cases -- for uniform arrays this is nearly as
  540.     fast as the equivalent C, and doesnt' cons.  I've made sure that
  541.     +, -, *, and / vectorize on the CRAY, this may be wasted effort
  542.     but the effort is not great.
  543.  
  544.     * unif.c (ARRAY-COPY!) now copies many arrays of differing types
  545.     to each other without going through the aref/aset, e.g. float ->
  546.     double, double -> complex, integer -> float ...  This should make
  547.     array type coercions for arithmetic faster.
  548.  
  549.     * unif.c (TRANSPOSE-ARRAY) Added, which returns a shared array
  550.     that is the transpose of its first argument.  I think this does
  551.     what an APL:TRANSPOSE would.
  552.  
  553.     * unif.c (ENCLOSE-ARRAY) Added, this returns an array that looks
  554.     like an array of shared arrays, the difference being that the
  555.     shared arrays are not actually allocated until referenced.
  556.     Internally, the contents of an enclosed array is another array.
  557.     The main reason for this is to allow a reasonably efficient
  558.     implementation of APL:COMPRESS, EXPAND, and INDEXING.  In order to
  559.     actually make an array of shared arrays, just use ARRAY-COPY!.
  560.  
  561.     * unif.c (cvref): Created internal version of aref(), cvref() that
  562.     doesn't do error checking; Thus speeding things up.  Profiling of
  563.     SCM running array code revealed that aref() was taking a
  564.     surprising fraction of the CPU time
  565.  
  566.     TO DO:
  567.  
  568.     The mechanism for looking up the vectorized functions is a little
  569.     kludgy, I was tempted to steal some of the CAR of the subr type to
  570.     encode an offset into a table of vectorized functions, but this
  571.     would make it more likely that dynamically loaded subrs lose thier
  572.     names.
  573.  
  574.     It is almost possible to write APL:+ and friends now, it is just
  575.     necessary to figure out the appropriate type of the returned array
  576.     and allocate it, and to promote scalar arguments to arrays (with
  577.     increments 0).
  578.  
  579.     This doesn't include vectorized REAL-PART, IMAG-PART,
  580.     MAKE-RECTANGULAR ...
  581.  
  582.     I think some C support for APL:REDUCE and maybe INNER-PRODUCT will
  583.     be needed for a reasonably fast APL.scm
  584.  
  585.     unif.c is getting quite big, time to split it up?
  586.  
  587.  
  588. Mon Sep  5 22:44:50 1994  Aubrey Jaffer  (jaffer@jacal)
  589.  
  590.     * Init.scm repl.c (quit): code was not using return values
  591.     correctly.
  592.  
  593. Sun Aug 21 01:02:48 1994  Aubrey Jaffer  (jaffer@jacal)
  594.  
  595.     * record.c (init_record): remaining record functions moved into C
  596.     code.
  597.     * eval.c sys.c: compiled closures now conditional under CCLO.
  598.  
  599. Sat Aug 20 23:03:36 1994  Aubrey Jaffer  (jaffer@jacal)
  600.  
  601.     From: rshouman@chpc.utexas.edu (Radey Shouman)
  602.     * eval.c (ceval apply):
  603.     * sys.c (makcclo): tc7_cclo, compiled closures, now supported.
  604.     * record.c (init_record): C implementation of slib "Record"s using
  605.     CCLO.
  606.     * scm.h subr.c (QUOTIENT MODULO REMAINDER): fixes a bug for
  607.     bignums with DIGSTOOBIG defined.  Also, changed the return type of
  608.     longdigs() to void, since that value is no longer used anywhere.
  609.  
  610. Mon Aug  1 11:16:56 1994  Aubrey Jaffer  (jaffer@jacal)
  611.  
  612.     * time.c (curtime): replaces get-universal-time.  Other time
  613.     functions removed (SLIB support more complete).
  614.  
  615.     * subr.c (divbigbig): fixed (modulo -2177452800 86400) => 86400
  616.     bug.  Also added to test.scm.
  617.  
  618. Sun Jul 24 16:09:48 1994  Aubrey Jaffer  (jaffer@jacal)
  619.  
  620.     * dynl.c (init_dynl): *feature* dld:dyncm added for dynamically
  621.     (ldso) linked libc.sa and libm.sa (under Linux).
  622.  
  623. Fri Jul 15 12:53:48 1994  Aubrey Jaffer  (jaffer@jacal)
  624.  
  625.     * unif.c (array-fill!): bug with increment in default clause fixed.
  626.     Fast string support added.
  627.  
  628.     From: rshouman@chpc.utexas.edu (Radey Shouman)
  629.     * unif.c (array-fill! array-for-each): bug fixes.
  630.  
  631. Sun Jul 10 01:51:00 1994  Aubrey Jaffer  (jaffer@jacal)
  632.  
  633.     * scm.c (run_scm init_scm): "-a" heap allocation argument supported.
  634.  
  635.     * Makefile (proto.h): removed.
  636.  
  637.     From: Drew Whitehouse, Drew.Whitehouse@anu.edu.au
  638.     * scm.h (P): Conditionalized ANSI'fied version of the scm.h.
  639.  
  640. Sun Jun 26 12:41:59 1994  Aubrey Jaffer  (jaffer@jacal)
  641.  
  642.     * Link.scm (usr:lib lib): Now checks for shared libraries
  643.     (lib*.sa) first.
  644.  
  645. Thu Jun 23 19:45:53 1994  Aubrey Jaffer  (jaffer@jacal)
  646.  
  647.     * scl.c scm.c: Support for compilation under Turbo C++ for Windows
  648.      (system and exec disabled) added under C flag "_Windows".
  649.  
  650. Sat Jun 18 11:47:17 1994  Aubrey Jaffer  (jaffer@jacal)
  651.  
  652.     * test.scm ((test-delay)): added.
  653.     ((test-bignum)): added and called automatically if bignums
  654.     suported.  test-inexact called automatically if inexacts
  655.     supported.
  656.  
  657. Mon Jun  6 09:26:35 1994  Aubrey Jaffer  (jaffer@jacal)
  658.  
  659.     * Init.scm (trace untrace): moved to SLIB/trace.scm.
  660.  
  661. Thu May 12 00:01:20 1994  Aubrey Jaffer  (jaffer@jacal)
  662.  
  663.     * Link.scm: Autoload for hobbit now does (provide 'hobbit).  This
  664.     allows hobbit to know if it is self compiling (although reloads of
  665.     hobbit will not be quite right).
  666.     ((compile file . args)): removed.
  667.  
  668.     * makefile.unix (proto.h): removed.
  669.  
  670.     * Transcen.scm: compile-allnumbers HOBBIT declaration added.
  671.     Init.scm will now load compiled Transcen.o.
  672.  
  673.     * scm.h: HOBBIT section removed.
  674.  
  675.     * README (SLIB): Now strongly recommends getting SLIB and lists
  676.     ftp sites.
  677.  
  678.     * eval.c (m_delay): fixed bug with multiple sets of (delay x).
  679.  
  680. Thu Apr 28 22:41:41 1994  Aubrey Jaffer  (jaffer@jacal)
  681.  
  682.     * unif.c (makflo): shortcut for single precision float arrays
  683.     added.
  684.  
  685. Fri Apr 15 00:54:14 1994  Aubrey Jaffer  (jaffer@jacal)
  686.  
  687.     From: rshouman@chpc.utexas.edu (Radey Shouman)
  688.     * unif.c: no longer uses pointer comparisons in loops.  Should
  689.     fix problems on 8086 processors.
  690.     * unif.c (make_sh_array): Fixes MAKE-SHARED-ARRAY so that shared
  691.     arrays with only 1 element in some direction may still be
  692.     ARRAY-CONTIGUOUS?
  693.     (uve_write uve_read): Fixes bug in UNIFORM-ARRAY-WRITE,
  694.     UNIFORM-ARRAY_READ!.  Now they do the right thing for shared
  695.     bit-arrays not starting at the beginning of their contents vector.
  696.     (array_contents ARRAY-SIMPLE?): ARRAY-CONTENTS may now return a
  697.     shared, contiguous, 1-d array, instead of a vector, if the array
  698.     cannot access all of the contents vector.  ARRAY-SIMPLE? removed.
  699.     (array-fill!): a replacement and generalization of
  700.     UNIFORM-VECTOR-FILL!.
  701.     (raequal): Combines with uve_equal(), providing also ARRAY-EQUAL?
  702.     ARRAY-EQUAL? is equivalent to EQUAL? if all its arguments are
  703.     uniform vectors or if all are arrays.  It differs from EQUAL? in
  704.     that a shared, 1-d array may be ARRAY-EQUAL? to a uniform vector.
  705.       for example
  706.       (define sh (make-shared-array '#(0 1 2 3) list '(0 1))) ==> #1(0 1)
  707.       (equal? '#(0 1) sh)       ==> #F
  708.       (array-equal? '#(0 1) sh) ==> #T
  709.     (list2ura): Combines list2uve() and list2ura().
  710.  
  711. Thu Apr 14 23:26:54 1994  Aubrey Jaffer  (jaffer@jacal)
  712.  
  713.     * time.c (LACK_FTIME LACK_TIMES): defined for vms.
  714.  
  715. Mon Apr  4 10:39:47 1994  Aubrey Jaffer  (jaffer@jacal)
  716.  
  717.     * eval.c (copytree): now copies vectors as well.
  718.  
  719.     * repl.c (quit): now accepts #t and #f values.
  720.  
  721. Sun Apr  3 23:30:14 1994  Aubrey Jaffer  (jaffer@jacal)
  722.  
  723.     * repl.c (repl): call to my_time() moved to not include READ time.
  724.  
  725.     * time.c (mytime): now prefers to use times() over clock().
  726.     Compilation constant CLOCKS_PER_SEC doesn't scale when a binary is
  727.     moved between machines.
  728.  
  729. Thu Mar 31 16:22:53 1994  Aubrey Jaffer  (jaffer@jacal)
  730.  
  731.     * Init.scm (*SCM-VERSION*): added.
  732.  
  733.     * Makefile (intro): Added message for those who just make.
  734.     Cleaned up and reorganized Makefile.
  735.  
  736.     * patchlvl.h (PATCHLEVEL): removed.  Whole version now just in
  737.     SCMVERSION.
  738.  
  739. Wed Mar 23 00:09:51 1994  Aubrey Jaffer  (jaffer@jacal)
  740.  
  741.     From: rshouman@chpc.utexas.edu (Radey Shouman)
  742.     * repl.c (iprin1): Characters higher than 127 print as
  743.     #\<octal-number>.
  744.  
  745.     * Init.scm ((read:array digit port)): added.  Most # syntax
  746.     handled in read:sharp.
  747.  
  748.     * unif.c (clist2uve clist2array): removed.
  749.  
  750. Fri Mar 11 15:10:53 1994  Radey Shouman  (rshouman@chpc.utexas.edu)
  751.  
  752.     * sys.c (sfgetc): can now return EOF.
  753.  
  754. Mon Mar  7 17:07:26 1994  Aubrey Jaffer  (jaffer@jacal)
  755.  
  756.     * patchlvl.h (SCMVERSION): 4e0
  757.  
  758.     * scmfig.h: was config.h (too generic).
  759.  
  760.     * scm.c (main run_scm) repl.c (repl_driver init_init): now take
  761.     initpath argument.  IMPLINIT now used in scm.c
  762.  
  763. Sun Feb 27 00:27:45 1994  Aubrey Jaffer  (jaffer@jacal)
  764.  
  765.     * eval.c (ceval m_cont IM_CONT): @call-with-current-continuation
  766.     special form for tail recursive call-with-current-continuation
  767.     added.  call_cc() routine removed.
  768.  
  769. Fri Feb 25 01:55:06 1994  Aubrey Jaffer  (jaffer@jacal)
  770.  
  771.     * eval.c (ceval m_apply IM_APPLY apply:nconc-to-last): @apply
  772.     special form for tail-recursive apply added.  ISYMs reactivated.
  773.  
  774. Mon Feb 21 14:42:12 1994  Aubrey Jaffer  (jaffer@jacal)
  775.  
  776.     * crs.c (nodelay): added.  In NODELAY mode WGETCH returns
  777.     eof-object when no input is ready.
  778.  
  779.     * Init.scm ((read:sharp c port)): defined to handle #', #+, and
  780.     #-.
  781.  
  782.     * repl.c (lreadr): Now calls out to Scheme function read:sharp
  783.     when encountering unknown #<char>.
  784.  
  785. Tue Feb 15 01:08:10 1994  Aubrey Jaffer  (jaffer@jacal)
  786.  
  787.     From: Shiro KAWAI <kawai@sail.t.u-tokyo.ac.jp>
  788.     * eval.c (ceval apply): under flag CAUTIOUS, checks for applying
  789.     to non-lists added.
  790.  
  791. Sat Feb 12 21:23:01 1994  Aubrey Jaffer  (jaffer@jacal)
  792.  
  793.     * sys.c (sym2vcell intern sysintern): now use internal strhash().
  794.  
  795.     * scl.c sys.c (hash hashv hashq strhash()): added.
  796.  
  797. Sat Feb  5 01:24:35 1994  Aubrey Jaffer  (jaffer@jacal)
  798.  
  799.     * scm.h (ARRAY_NDIM): #define ARRAY_NDIM NUMDIGS changed to
  800.     #define ARRAY_NDIM(x) NUMDIGS(x) to correct problem on Next.
  801.  
  802. Fri Feb  4 23:15:21 1994  Aubrey Jaffer  (jaffer@jacal)
  803.  
  804.     From: rshouman@chpc.utexas.edu (Radey Shouman)
  805.     * unif.c: 0d arrays added.  Serial array mapping functions and
  806.     ARRAY-SIMPLE? added.
  807.  
  808. Thu Feb  3 12:42:18 1994  Aubrey Jaffer  (jaffer@jacal)
  809.  
  810.     * scm.h (LENGTH): now does unsigned shift.
  811.  
  812. Wed Feb  2 23:40:25 1994  Aubrey Jaffer  (jaffer@jacal)
  813.  
  814.     * Link.scm (*catalog*): catalog entries for db (wb),
  815.     turtle-graphics, curses, regex, rev2-procedures, and
  816.     rev3-procedures added.
  817.  
  818. Sun Jan 30 19:25:24 1994  Aubrey Jaffer  (jaffer@jacal)
  819.  
  820.     From: rshouman@chpc.utexas.edu (Radey Shouman)
  821.     * sys.c eval.c setjump.h setjump.s (longjump setjump): full
  822.     continuations now work on Cray YMP.
  823.  
  824. Thu Jan 27 01:09:13 1994  Aubrey Jaffer  (jaffer@jacal)
  825.  
  826.     * dynl.c MANUAL Init.scm (init_dynl): dynamic linking modified for
  827.     modern linux.
  828.  
  829. Sat Jan 22 17:58:55 1994  Aubrey Jaffer  (jaffer@jacal)
  830.  
  831.     From: ucs3028@aberdeen.ac.uk (Al Slater)
  832.     * makefile.acorn repl.c (set_erase): Port to acorn archimedes.
  833.     This uses Huw Rogers free unix function call library for the
  834.     archimedes - this is very very widely available and should pose no
  835.     problem to anyone trying to find it - its on every archimedes ftp
  836.     site.
  837.  
  838.     From: hugh@cosc.canterbury.ac.nz (Hugh Emberson)
  839.     * dynl.c Link.scm: Dynamic Linking with SunOS.
  840.  
  841. Thu Jan  6 22:12:51 1994    (jaffer at jacal)
  842.  
  843.     * sys.c (gc_mark mark_locations): now externally callable.
  844.  
  845. Sun Jan  2 19:32:59 1994    (jaffer at jacal)
  846.  
  847.     From: fred@sce.carleton.ca (Fred J Kaudel)
  848.     * unif.c (ra_matchp ramapc): patch to unif.c avoids two problems
  849.     (K&R C does not allow initialization of "automatic" arrays or
  850.     structures).  This was not use in 4d2 or previously, and the
  851.     following patch ensures that such initialization only occurs for
  852.     ANSI C compilers (Note that K&R C compilers need to explicitly
  853.     assign the values).
  854.  
  855. Sat Dec 18 23:55:30 1993    (jaffer at jacal)
  856.  
  857.     * scm.1 scm.doc (FEATURES): improved and updated manual page.
  858.  
  859.     * repl.c (BRACKETS_AS_PARENS): controls whether [ and ] are read
  860.     as ( and ) in forms.
  861.  
  862. Wed Dec  8 23:13:09 1993    (jaffer at jacal)
  863.  
  864.     From: rshouman@chpc.utexas.edu (Radey Shouman)
  865.     * unif.c: More array fixes and functions.
  866.  
  867. Tue Dec  7 00:44:23 1993    (jaffer at jacal)
  868.  
  869.     * dynl.c (dld_stub): removed since dld is working better on Linux.
  870.  
  871. Wed Dec  1 15:27:44 1993    (jaffer at jacal)
  872.  
  873.     * scm.h (SNAME): explicit cast added to get rid of compiler
  874.     warnings.
  875.  
  876.     From: bh@anarres.CS.Berkeley.EDU (Brian Harvey)
  877.     * repl.c (repl) output newlines when more than one form on a line
  878.     for Borland C.
  879.  
  880.     From: rshouman@chpc.utexas.edu (Radey Shouman)
  881.     * unif.c: More array fixes and documentation.
  882.  
  883. Mon Nov 29 01:06:21 1993  Aubrey Jaffer  (jaffer at montreux)
  884.  
  885.     From: rshouman@chpc.utexas.edu (Radey Shouman)
  886.     * unif.c: More array functions (need documentation).
  887.  
  888. Sun Nov 28 01:34:22 1993    (jaffer at jacal)
  889.  
  890.     * scm.h (SNAME): returns a pointer to nullstr if offset is 0.
  891.  
  892.     * subr.c eval.c (make_synt make_subr): now check that offset from
  893.     heap_org hack works for each subr.  If not, 0 is used.
  894.  
  895.     * Link.scm (compile-file): compiles SCM file to object suitable
  896.     for LOAD.
  897.  
  898.     * Link.scm: initialization file created with Scheme code for
  899.     compilation and    linking.  LOAD now automatically loads SCM object
  900.     files.
  901.  
  902.     * dynl.c Init.scm: dynamic linking now works under DLD on Linux.
  903.     Wb, crs, and sc2 can by dynamically loaded.
  904.  
  905. Thu Nov 25 22:58:36 1993    (jaffer at jacal)
  906.  
  907.     * sys.c (ltmpnam): return value of mktemp call tested in accord
  908.     with HP-UX documentation (returns "" on error).
  909.  
  910.     * config.h (SYSCALLDEF): removed.  Macro I/O calls (getc, putc)
  911.     replaced with function versions.  Control-C interrupts should work
  912.     while pending input on all systems again.
  913.  
  914. Tue Nov 23 01:18:35 1993    (jaffer at jacal)
  915.  
  916.     From: dorai@cs.rice.edu (Dorai Sitaram)
  917.     * repl.c sys.c time.c config.h: MWC (Mark Williams C) support.
  918.  
  919. Sun Nov  7 10:58:53 1993    (jaffer at jacal)
  920.  
  921.     From: "Greg Wilson" <Greg.Wilson@cs.anu.edu.au>
  922.     * scm.c config.h (TICKS ticks tick-interrupt): if TICKS is
  923.     #defined, ticks and tick-interrupt work like alarm and
  924.     alarm-interrupt, but with units of evaluation rather than units of
  925.     time.
  926.  
  927. Mon Nov  1 18:47:04 1993    (jaffer at jacal)
  928.  
  929.     * unif.c (uniform-vector-ref => array-ref): integrated arrays
  930.     with uniform-vectors.  Strings, vectors, and uniform-vectors
  931.     now just special case of arrays (to the user).
  932.  
  933. Fri Oct 29 01:26:53 1993    (jaffer at jacal)
  934.  
  935.     * unif.c (rasmob tc16_array): arrays are now a smob.
  936.  
  937. Thu Oct 28 01:21:43 1993    (jaffer at jacal)
  938.  
  939.     * sys.c repl.c (igc gc_start): GC message gives reason for GC.
  940.  
  941. Wed Oct 27 10:03:00 1993    (jaffer at jacal)
  942.  
  943.     * config.h (SICP): flag makes (eq? '() '#f) and changes other
  944.     things in order to make SCM more compatible with Abelson and
  945.     Sussman's book.
  946.  
  947.     * sys.c (gc_mark gc_sweep mark_locations): GC bug fixed.  GC from
  948.     must_malloc would collect the tc_free_cell already allocated.
  949.  
  950.     * sys.c setjump.h (must_malloc must_realloc INIT_MALLOC_LIMIT):
  951.     modified to call igc when malloc usage exceeds mtrigger (idea from
  952.     hugh@ear.MIT.EDU, Hugh Secker-Walker).
  953.  
  954.     From: Jerry D. Hedden
  955.     * pi.scm (bigpi): bignum version of pi calculator.
  956.  
  957. Tue Oct 26 18:41:33 1993    (jaffer at jacal)
  958.  
  959.     * repl.c (room): added procedure for printing storage statistics.
  960.  
  961. Sun Oct 24 22:40:15 1993    (jaffer at jacal)
  962.  
  963.     * config.h eval.c scl.c (STACK_LIMIT CHECK_STACK): added.
  964.     * sys.c (stack_check): added.
  965.  
  966. Sat Oct 23 00:08:30 1993    (jaffer at jacal)
  967.  
  968.     * sys.c (mallocated): added to keep track of non-heap usage.
  969.  
  970.     * sys.c (igc): fixed interrupt vulnerabilities around gc.
  971.  
  972. Sun Oct 17 13:06:11 1993    (jaffer at jacal)
  973.  
  974.     * repl.c (exit_report): added.  Prints cumulative times if
  975.     (verbose > 2).  Called from free_storage().
  976.  
  977.     * repl.c (repl): fixed CRDYP(stdin) BUG!  Transcripts should work
  978.     again.  Other annoying CR behaviour fixed.
  979.  
  980.     * time.c (init_time your_base my_base): now not reset when
  981.     restarting so timing numbers for restarting are correct.
  982.  
  983.     * scm.h (sys_protects): rearranged.
  984.     * sys.c (tmp_errp): now a statically allocated global variable,
  985.     used by init_storage and free_storage.
  986.     * scm.h sys.c (tc16_fport, tc16_pupe, tc16_strport, tc16_sfport):
  987.     now #defines (which must correspond to order of newptob calls).
  988.  
  989. Sun Oct  3 20:38:09 1993  Bryan O'Sullivan  (bos@scrg.cs.tcd.ie)
  990.  
  991.     * README.unix configure configure.in scmconfig.h.in
  992.     mkinstalldirs Makefile.in acconfig-1.5.h: SCM can now be built
  993.     using GNU autoconf.  Put in scmconfig4c5.tar.gz
  994.  
  995. Sun Oct  3 00:33:57 1993    (jaffer at jacal)
  996.  
  997.     * MANUAL (bit-count bit-position bit-set*! bit-count*
  998.     bit-invert!): (from unif.c) are now documented.
  999.  
  1000.     * sys.c (fixconfig): added 3rd argument to distinguish between
  1001.     setjump.h and config.h.
  1002.     * setjump.h config.h: moved IN_SYS stuff from config.h to
  1003.     setjump.h.
  1004.     * config.h (HAVE_CONFIG_H): User config preferences now taken
  1005.     from "scmconfig.h" if HAVE_CONFIG_H is defined.
  1006.     * config.h (EXIT_SUCCESS EXIT_FAILURE): fixed for VMS.
  1007.  
  1008. Sat Oct  2 00:34:38 1993    (jaffer at jacal)
  1009.  
  1010.     From: rshouman@hermes.chpc.utexas.edu (Radey Shouman)
  1011.     * unif.c repl.c: added read and write syntax for uniform vectors.
  1012.     * unif.c (uniform-vector->list list->uniform-vector): created.
  1013.     * time.c (time_in_msec): conditionalized for wide range of CLKTCK
  1014.     values.
  1015.     * config.h (BITSPERDIG POINTERS_MUNGED)
  1016.     * scm.h (PTR2SCM SCM2PTR)
  1017.     * scl.c (DIGSTOOBIG)
  1018.         Ported SCM to Unicos, the Cray operating system.
  1019.  
  1020.     From: schwab@ls5.informatik.uni-dortmund.de (Andreas Schwab)
  1021.     * scl.c (dblprec): set from DBL_DIG, if available.
  1022.  
  1023. Fri Oct  1 21:43:58 1993    (jaffer at jacal)
  1024.  
  1025.     * unif.c (bit-position): now returns #f when item is not found.
  1026.     Now returns #f when 3rd argument is length of 2nd argument
  1027.     (instead of error).
  1028.  
  1029. Fri Sep 24 14:30:47 1993    (jaffer at jacal)
  1030.  
  1031.     * sys.c (free_storage): fixed bug where growth_mon was being
  1032.     called after the port cell had been freed.  gc_end now also
  1033.     called at end.
  1034.  
  1035. Tue Sep 21 23:46:05 1993    (jaffer at jacal)
  1036.  
  1037.     * Init.scm scm.c: Restored old command line behaviour (loading all
  1038.     command line arguments) for case when first command line argument
  1039.     does not have leading `-'.
  1040.  
  1041.     * sys.c (mode_bits): abstracted from open_file and mksfpt.
  1042.  
  1043.     * scm.h (*FPORTP): series of predicates added for operations which
  1044.     only work on some fports.
  1045.  
  1046.     * sys.c crs.c: ungetc removed from ptobfuns structure and
  1047.     soft-ports.
  1048.  
  1049. Mon Sep 20 23:53:25 1993    (jaffer at jacal)
  1050.  
  1051.     * sys.c (make-soft-port): Soft-ports added, allowing Scheme
  1052.     i/o extensions.
  1053.  
  1054. Sun Sep 19 22:55:28 1993    (jaffer at jacal)
  1055.  
  1056.     * 4c4: released.
  1057.     * Init.scm scm.c scm.1: command line proccessing totally
  1058.     rewritten.  Thanks to Scott Schwartz
  1059.     <schwartz@groucho.cs.psu.edu> for help with this.
  1060.  
  1061. Mon Sep 13 21:45:52 1993    (jaffer at jacal)
  1062.  
  1063.     From: pegelow@moorea.uni-muenster.de (Ulrich Pegelow)
  1064.     * scl.c (add1): finally a way to fool optimizing gcc to not use
  1065.     extra precision registers.
  1066.  
  1067. Sun Sep 12 18:46:02 1993    (jaffer at jacal)
  1068.  
  1069.     * sys.c (pwrite): added to stubbify fwrite to fix bug on VMS.
  1070.     * config.h: moved flags to top per suggestions from Bryan
  1071.     O'Sullivan (bos@scrg.cs.tcd.ie).
  1072.  
  1073. Fri Sep 10 11:42:27 1993    (jaffer at jacal)
  1074.  
  1075.     * repl.c config.h (EXIT_SUCCESS EXIT_ERROR): added.  Values
  1076.     returned by SCM program.
  1077.  
  1078. Thu Sep  9 13:09:28 1993  Aubrey Jaffer  (jaffer at camelot)
  1079.  
  1080.     From: Vincent Manis <manis@cs.ubc.ca>
  1081.     * sys.c (stwrite init_types add_final): fixed declarations.
  1082.  
  1083. Mon Sep     6 16:10:50 1993  Bryan O'Sullivan  (bos@scrg.cs.tcd.ie)
  1084.  
  1085.     * README: changed the build and installation instructions to bring
  1086.     them up to date with reality.
  1087.  
  1088. Sun Sep     5 23:08:54 1993  Bryan O'Sullivan  (bos@scrg.cs.tcd.ie)
  1089.  
  1090.     * Wrote autoconf script to support GNU Autoconf configuration
  1091.     to make scm easier to build.
  1092.  
  1093.     * Created Makefile.in; a radical overhaul of Makefile to remove
  1094.     some of the brokenness and allow cross-compilation and use of
  1095.     autoconf.
  1096.  
  1097. Sat Sep  4 23:00:49 1993    (jaffer at jacal)
  1098.  
  1099.     * 4c3: released.
  1100.     * sys.c (grow_throw): removed use of memset for SPARC machines.
  1101.  
  1102. Sat Sep  4 18:09:59 1993  Bryan O'Sullivan  (bos@scrg.cs.tcd.ie)
  1103.  
  1104.     * time.c: added SVR4 to the list of LACK_FTIME systems, because
  1105.     most all SVR4 BSD-compatibility stuff is a total mess.
  1106.  
  1107.     * config.h: changed definition of STDC_HEADERS so it does the
  1108.     Right Thing on systems which run GCC but don't have header files
  1109.     with prototypes.
  1110.  
  1111.     * makefile.unix: added a note for SVR4 users.
  1112.  
  1113. Tue Aug 31 18:30:53 1993    (jaffer at jacal)
  1114.  
  1115.     * eval.c (m_define): if verbose >= 5 warnings are issued for all
  1116.     top-level redefinitions.
  1117.  
  1118. Mon Aug 30 16:24:26 1993    (jaffer at jacal)
  1119.  
  1120.     * scm.c sys.c (finals num_finals add_final): Finalization calls
  1121.     now dynamically, incrementally, defined.
  1122.  
  1123. Thu Aug 26 12:38:27 1993  Aubrey Jaffer  (jaffer at camelot)
  1124.  
  1125.     * 4c2: fixed declaration problems in PTOB with K&R C.
  1126.  
  1127. Sun Aug 22 23:02:51 1993    (jaffer at jacal)
  1128.  
  1129.     * split.scm: code which directs input, output, and diagnostic
  1130.     output to separate windows (using curses functions defined in
  1131.     crs.c).
  1132.  
  1133. Sat Aug 21 16:46:33 1993    (jaffer at jacal)
  1134.  
  1135.     * Init.scm (output-port-height): added if not already defined.
  1136.     output-port-width also made conditional.
  1137.  
  1138.     * sys.c (tc16_strport): string ports created.
  1139.  
  1140. Thu Aug 19 11:37:07 1993    (jaffer at jacal)
  1141.  
  1142.     * sys.c (init_types): freecell, floats, and bignums now have SMOB
  1143.     entries.  gc_sweep and gc_mark still inline codes for bignums and
  1144.     floats.
  1145.  
  1146.     * sys.c repl.c code.doc: Ports now an extensible type.
  1147.     Indirection suggested by Shen <sls@aero.org>.
  1148.  
  1149. Mon Aug 16 01:20:26 1993    (jaffer at jacal)
  1150.  
  1151.     * crs.c: curses support created.
  1152.  
  1153. Sun Aug 15 16:56:36 1993    (jaffer at jacal)
  1154.  
  1155.     * rgx.c sys.c (mark0 equal0): mark0 moved to sys.c.  equal0
  1156.     created.
  1157.  
  1158. Fri Jun 25 01:16:31 1993    (jaffer at jacal)
  1159.  
  1160.     * QUICKREF: added.
  1161.  
  1162. Tue Jun 22 00:40:58 1993  Aubrey Jaffer  (jaffer at camelot)
  1163.  
  1164.     * repl.c (ungetted): replaced with CRDYP(stdin) to fix recently
  1165.     introduced transcript bug.
  1166.  
  1167. Sun Jun 20 22:29:32 1993  Aubrey Jaffer  (jaffer at camelot)
  1168.  
  1169.     * config.h (NOSETBUF): setbuf() now conditionalized on NOSETBUF.
  1170.  
  1171.     * Init.scm (defmacro): now copies the results of macro expansion
  1172.     in order to avoid capture of memoized code by macros like:
  1173.     (defmacro f (x) `(list '= ',x ,x)).
  1174.  
  1175. Wed Jun  2 23:32:05 1993  Aubrey Jaffer  (jaffer at caddr)
  1176.  
  1177.     * eval.c (map for-each): now check that arguments are lists.
  1178.  
  1179. Mon May 31 23:05:19 1993  Aubrey Jaffer  (jaffer at camelot)
  1180.  
  1181.     * Init.scm (trace untrace): now defmacros which handle (trace) and
  1182.     (untrace) as in Common Lisp.
  1183.  
  1184. Wed May  5 01:17:37 1993  Aubrey Jaffer  (jaffer at camelot)
  1185.  
  1186.     From: Roland Orre  <orre@sans.kth.se>
  1187.     * all: internal output functions now take SCM ports instead of
  1188.     FILE* in preparation for string-ports.
  1189.  
  1190. Tue May  4 17:49:49 1993  Aubrey Jaffer  (jaffer at wbtree)
  1191.  
  1192.     * makefile.unix (escm.a): created scm "ar" file and used for
  1193.     dbscm.
  1194.  
  1195. Sun Apr 25 21:35:46 1993  Aubrey Jaffer  (jaffer at camelot)
  1196.  
  1197.     * sys.c (free_storage): i++ moved out of CELL_* in response to:
  1198. From: john kozak <jkozak@cix.compulink.co.uk>
  1199. Minor bug report: around line 10 of routine "free_storage" you do calls
  1200. to CELL_UP and CELL_DOWN with arguments having side-effects: with the
  1201. PROT386switch defined in config.h these args are evaluated twice...
  1202.  
  1203. Sun Apr 11 22:56:19 1993  Aubrey Jaffer  (jaffer at camelot)
  1204.  
  1205.     * eval.c (IM_DEFINE): added.  Internal defines are no longer
  1206.     turned into LETRECS.
  1207.  
  1208. Wed Apr  7 13:32:53 1993  Aubrey Jaffer  (jaffer at camelot)
  1209.  
  1210.     Jerry D. Hedden <HEDDEN@ESDSDF.dnet.ge.com>
  1211.     * scl.c (idbl2str): fix for bug introduced by removing +'s.
  1212.  
  1213. Tue Mar 23 15:37:12 1993  Aubrey Jaffer  (jaffer at camelot)
  1214.  
  1215.     * scl.c (idbl2str): now prints positivie infinity as +#.# again
  1216.     (instead of #.#).
  1217.  
  1218. Mon Mar 22 01:38:02 1993  Aubrey Jaffer  (jaffer at montreux)
  1219.  
  1220.     * subr.c (quotient): renamed to lquotient to avoid conflict with
  1221.     HP-UX 9.01.
  1222.  
  1223. Fri Mar 19 01:21:08 1993  Aubrey Jaffer  (jaffer at camelot)
  1224.  
  1225.     * sys.c repl.c: #ifndef THINK_C #include <sys/ioctl.h>
  1226.     * time.c (lstat): #ifndef THINK_C. ThinkC 5.0.1 lacked.
  1227.  
  1228. Mon Mar 15 23:35:32 1993  Aubrey Jaffer  (jaffer at camelot)
  1229.  
  1230.     From: jhowland@ariel.cs.trinity.edu (Dr. John E. Howland)
  1231.     * scl.c (idbl2str iflo2str big2str): leading + eliminated on
  1232.     output and number->string.
  1233.  
  1234. Wed Mar 10 00:58:32 1993  Aubrey Jaffer  (jaffer at camelot)
  1235.  
  1236.     * repl.c scm.h (CRDYP CLRDY CGETUN CUNGET): cleaned up ungetc hack.
  1237.  
  1238.     * scm.c repl.c (exec): added.
  1239.  
  1240. Sun Mar  7 22:44:23 1993  Aubrey Jaffer  (jaffer at camelot)
  1241.  
  1242.     * repl.c (def_err_response): now will print errobjs if they are
  1243.     immediates, symbols, ports, procedures, or numbers.
  1244.  
  1245. Fri Mar  5 23:15:54 1993  Aubrey Jaffer  (jaffer at camelot)
  1246.  
  1247.     * repl.c (repl): now gives repl_report() for initialization.
  1248.  
  1249.     * Init.scm (defvar): added.
  1250.  
  1251.     From: Roland Orre  <orre@sans.kth.se>
  1252.     * repl.c (lungetc): no longer calls ungetc.  Fixed problem that
  1253.     many systems had with ungetc on unbuffered ports (setbuf(0)).
  1254.  
  1255. Thu Mar  4 13:51:12 1993  Aubrey Jaffer  (jaffer at camelot)
  1256.  
  1257.     From: Stephen Schissler
  1258.     * makefile.wcc: Watcom support added.
  1259.  
  1260. Wed Mar  3 23:11:08 1993  Aubrey Jaffer  (jaffer at montreux)
  1261.  
  1262.     * sys.c scm.h (dynwinds): made a sys_protect.
  1263.  
  1264. Mon Feb 15 11:30:50 1993  Aubrey Jaffer  (jaffer at camelot)
  1265.  
  1266.     * Init.scm (defmacro macroexpand macroexpand1 macro? gensym):
  1267.     added.
  1268.  
  1269.     * repl.c (stdin): setbuf not done for __TURBOC__==1.
  1270.  
  1271.     * makefile.bor: now has method to build turtegr.exe.
  1272.  
  1273.     * eval.c (ceval): Memoizing macros now can return any legal Scheme
  1274.     expression.
  1275.  
  1276. Sat Feb 13 18:01:13 1993  Aubrey Jaffer  (jaffer at camelot)
  1277.  
  1278.     * subr.c (mkbig adjbig): now check for bignum size.
  1279.  
  1280.     * Init.scm: reorganized so site-specific information is at the
  1281.     head.
  1282.  
  1283.     * repl.c (errno): changed from set-errno now returns value.
  1284.  
  1285.     * subr.c (intexpt): now handles bignum exponents.
  1286.  
  1287.     From: "David J. Fiander" <davidf@golem.waterloo.on.ca>
  1288.     * time.c makefile.unix subr.c: SCO Unix and XENIX patches.
  1289.  
  1290. Fri Feb 12 22:18:57 1993  Aubrey Jaffer  (jaffer at camelot)
  1291.  
  1292.     * Init.scm (WITH-INPUT-FROM-PORT WITH-OUTPUT-TO-PORT
  1293.     WITH-ERROR-TO-PORT): added.
  1294.  
  1295.     * subr.c (ash): fixed for case (ash 2 40) where INUM arguments
  1296.     make a bignum result.
  1297.  
  1298.     * repl.c (lreadr): \ followed by a newline in a string is ignored.
  1299.  
  1300.     From: Scott Schwartz <schwartz@groucho.cs.psu.edu>
  1301.     * repl.c (lreadr): Can now read \0\f\n\r\t\a\v in strings.
  1302.  
  1303. Thu Feb 11 01:25:50 1993  Aubrey Jaffer  (jaffer at camelot)
  1304.  
  1305.     * Init.scm (with-input-from-file with-output-to-file
  1306.     with-error-to-file): now use dynamic-wind.
  1307.  
  1308. Sun Feb  7 22:51:08 1993  Aubrey Jaffer  (jaffer at camelot)
  1309.  
  1310.     * eval.c (ceval): fixed bug with non-memoizing macro returning an
  1311.     IMP.
  1312.  
  1313. Sat Feb  6 01:22:27 1993  Aubrey Jaffer  (jaffer at camelot)
  1314.  
  1315.     * (current-error-port with-error-to-file): add.
  1316.  
  1317. Fri Feb  5 00:51:23 1993  Aubrey Jaffer  (jaffer at camelot)
  1318.  
  1319.     * time.c (stat): added.
  1320.  
  1321.     From: rnelson@wsuaix.csc.wsu.edu (roger nelson)
  1322.     * dmakefile: support for DICE C on Amiga.
  1323.  
  1324. Thu Feb  4 01:55:30 1993  Aubrey Jaffer  (jaffer at camelot)
  1325.  
  1326.     * sys.c (open-file) makes unbuffered if isatty.
  1327.  
  1328.     * repl.c (char-ready?) added.
  1329.  
  1330. Mon Feb  1 15:24:18 1993  Aubrey Jaffer  (jaffer at camelot)
  1331.  
  1332.     * subr.c (logor): changed to LOGIOR to be compatible with common
  1333.     Lisp.
  1334.  
  1335.     * eval.c (bodycheck): now checks for empty bodies.
  1336.  
  1337. Sun Jan 31 01:01:11 1993  Aubrey Jaffer  (jaffer at camelot)
  1338.  
  1339.     * time.c (get-universal-time decode-universal-time): now use
  1340.     bignums.
  1341.  
  1342. Tue Jan 26 00:17:06 1993  Aubrey Jaffer  (jaffer at camelot)
  1343.  
  1344.     * sys.c (mark_locations): now length argument in terms of
  1345.     STACKITEM.  Does both alignments in one pass.
  1346.  
  1347. Mon Jan 25 12:13:40 1993  Aubrey Jaffer  (jaffer at camelot)
  1348.  
  1349.     From: soravi@Athena.MIT.EDU
  1350.     * makefile.emx: for OS/2
  1351.  
  1352. Sun Jan 24 18:46:32 1993  Aubrey Jaffer  (jaffer at camelot)
  1353.  
  1354.     From: stevev@miser.uoregon.edu (Steve VanDevender)
  1355.     * scl.c (big2str): now faster because it divides by as many 10s as
  1356.     fit in a BIGDIG.
  1357.  
  1358. Sat Jan 23 00:23:53 1993  Aubrey Jaffer  (jaffer at camelot)
  1359.  
  1360.     From: stevev@miser.uoregon.edu (Steve VanDevender):
  1361.     * config.h (INUM MAKINUM): shift optimization for TURBOC.
  1362.  
  1363. Fri Jan 22 00:46:58 1993  Aubrey Jaffer  (jaffer at montreux)
  1364.  
  1365.     From: hanche@ams.sunysb.edu (Harald Hanche-Olsen)
  1366.     * unif.c (uniform-vector?): added.
  1367.  
  1368. Tue Jan 19 00:27:04 1993  Aubrey Jaffer  (jaffer at camelot)
  1369.  
  1370.     From: stevev@miser.uoregon.edu (Steve VanDevender)
  1371.     * subr.c scl.c config.h: bignum bug fixes for MSDOS.
  1372.  
  1373. Mon Jan 18 01:15:24 1993  Aubrey Jaffer  (jaffer at camelot)
  1374.  
  1375.     * subr.c (ash lognot intlength logcount bitextract): now handle
  1376.     bignums.
  1377.  
  1378. Sun Jan 17 10:42:44 1993  Aubrey Jaffer  (jaffer at camelot)
  1379.  
  1380.     * sys.c (close_port): can now close pipes as well.
  1381.  
  1382.     * subr.c (adjbig normbig divide quotient): fixed more divide bugs.
  1383.  
  1384.     * subr.c (even? odd?): fixed problem with bignums.
  1385.  
  1386. Sat Jan 16 00:02:05 1993  Aubrey Jaffer  (jaffer at camelot)
  1387.  
  1388.     * subr.c (divbigbig): Fixed last divide bug?
  1389.  
  1390. Fri Jan 15 00:07:27 1993  Aubrey Jaffer  (jaffer at camelot)
  1391.  
  1392.     * rgx.c (regmatch?): added.  Debugged for both HP-UX and GNU
  1393.     regex-0.11.  Documentation added to MANUAL.
  1394.  
  1395. Thu Jan 14 11:54:52 1993  Aubrey Jaffer  (jaffer at camelot)
  1396.  
  1397.     * patchlvl.h (SCMVERSION): moved from config.h.
  1398.  
  1399.     * scl.c (product): fixed missing {} bug.
  1400.  
  1401.     From: HEDDEN@esdsdf.dnet.ge.com
  1402.     * scl.c (lmin lmax) bignum versions.
  1403.  
  1404. Wed Jan 13 01:40:51 1993  Aubrey Jaffer  (jaffer at camelot)
  1405.  
  1406.     * released scm4b0.
  1407.  
  1408.     * subr.c: fixed bignum bugs found by jacal.
  1409.  
  1410.     * code cleanup.
  1411.  
  1412.     From: HEDDEN@esdsdf.dnet.ge.com
  1413.     * subr.c (lgcd quotent modulo lremainder): Bignum versions.
  1414.     * subr.c (divbigbig): new version.
  1415.  
  1416. Sun Jan  3 00:29:35 1993  Aubrey Jaffer  (jaffer at camelot)
  1417.  
  1418.     From: stevev@miser.uoregon.edu (Steve VanDevender)
  1419.     * Re-port to BorlandC v2.0
  1420.  
  1421.     * sys.c (must_realloc): added
  1422.  
  1423.     * config.h subr.c (BIGRAD pseudolong): now insensitive to ratio of
  1424.     sizeof(long)/sizeof(BIGDIG).
  1425.  
  1426. Mon Dec 21 23:20:47 1992  Aubrey Jaffer  (jaffer at camelot)
  1427.  
  1428.     From: Scott Schwartz <schwartz@groucho.cs.psu.edu>
  1429.     * rgx.c: created SCM interface to regex and regexp routines.
  1430.  
  1431.     From: HEDDEN@esdsdf.dnet.ge.com
  1432.     * subr.c scl.c: Now just one mulbigbig and addbigbig routine.
  1433.  
  1434.     from: soravi@Athena.MIT.EDU
  1435.     * README: directions for compiling SCM under OS/2 2.0.
  1436.  
  1437. Wed Dec  9 15:34:30 1992  Aubrey Jaffer  (jaffer at camelot)
  1438.  
  1439.     * eval.c (tc7_subr_2x): eliminated.  All comparison subrs now
  1440.     rpsubrs.
  1441.  
  1442.     * scm.h: Changed SUBR numbers.  This improves HP-UX interpretation
  1443.     speed (why?).
  1444.  
  1445.     * eval.c (PURE_FUNCTIONAL): removed.  Can now be done in
  1446.     initialization code.
  1447.  
  1448.     * eval.c (tc7_rpsubr): added type for transitive comparison
  1449.     operators.  Suprisingly, this slows down (pi 100 5).
  1450.  
  1451. Mon Dec  7 16:15:47 1992  Aubrey Jaffer  (jaffer at camelot)
  1452.  
  1453.     * subr.c (logand logor logxor lognot ash logcount integer-length
  1454.     bit-extract): added.
  1455.  
  1456.     From: HEDDEN@esdsdf.dnet.ge.com
  1457.     * scl.c: lots more numeric improvements and code reductions.
  1458.  
  1459. Mon Nov 30 12:25:54 1992  Aubrey Jaffer  (jaffer at camelot)
  1460.  
  1461.     * scm.h (IDINC ICDR IDIST): enlarged depth count in ILOCs.
  1462.  
  1463. Sun Nov 29 01:10:18 1992  Aubrey Jaffer  (jaffer at camelot)
  1464.  
  1465.     * subr.c scl.c: most arithmetic operations will now return
  1466.     bignums.
  1467.  
  1468.     * config.h (FIXABLE POSFIXABLE NEGFIXABLE): added.
  1469.  
  1470.     * sys.c (object-hash object-unhash): now use bignums.
  1471.  
  1472.     * scl.c (big2str istr2int): bignum i/o implemented.
  1473.  
  1474.     * unif.c: subr2s were incorrectly initialized as lsubr2s.
  1475.  
  1476. Tue Nov 24 14:02:52 1992  Aubrey Jaffer  (jaffer at camelot)
  1477.  
  1478.     * eval.c (ceval): added unmemocar calls to error handling when
  1479.     possible.
  1480.  
  1481.     * scl.c (idbl2str): added back NAN and infinity support.
  1482.  
  1483.     * eval.c (syntax_mem): replaced with individual macros.
  1484.     * eval.c (procedure->syntax procedure->macro
  1485.     procedure->memoizing-macro): All syntactic keywords are now
  1486.     tc7_symbol.  User definable macros added.
  1487.     * sys.c: ISYMs no longer in symhash.  ISYMs cannot be read.
  1488.     init_isyms merged into init_eval.
  1489.  
  1490. Sat Nov 21 00:39:31 1992  Aubrey Jaffer  (jaffer at camelot)
  1491.  
  1492.     * makefile.unix (check): now exits with error code.
  1493.  
  1494.     * sys.c (init_isyms): eliminated.  ISYMS now inited in init_eval.
  1495.  
  1496. Fri Nov 20 16:14:06 1992  Aubrey Jaffer  (jaffer at camelot)
  1497.  
  1498.     * released scm4a13
  1499.  
  1500.     * repl.c: longjmps now dowinds() first.
  1501.  
  1502.     * setjump.h: now has all setjmp related definitions.
  1503.  
  1504.     * Init.scm (trace untrace): use new macro system.
  1505.  
  1506.     * eval.c (defined? procedure->macro procedure->memoizing-macro
  1507.     make_synt): macro system added.  defined? uses it.
  1508.  
  1509.     From: HEDDEN@esdsdf.dnet.ge.com
  1510.     * scl.c: fixes for several transcendental functions.
  1511.  
  1512. Thu Nov 19 01:14:38 1992  Aubrey Jaffer  (jaffer at camelot)
  1513.  
  1514.     * repl.c sys.c: errjmp replaced with JMPBUF(rootcont).
  1515.  
  1516. Sun Nov 15 01:49:00 1992  Aubrey Jaffer  (jaffer at camelot)
  1517.  
  1518.     From: HEDDEN@esdsdf.dnet.ge.com
  1519.     * scl.c (istr2int istr2flo istring2number string2number): new
  1520.     versions.
  1521.  
  1522. Thu Nov 12 23:00:04 1992  Aubrey Jaffer  (jaffer at Ivan)
  1523.  
  1524.     * Init.scm (load): now prints out actual filename found in mesasge
  1525.     ;done loading ...
  1526.  
  1527. Wed Nov 11 01:01:59 1992  Aubrey Jaffer  (jaffer at camelot)
  1528.  
  1529.     * repl.c (def_err_response): ARG1 error with errobj==UNDEFINED
  1530.     becomes WNA error.
  1531.  
  1532.     From: HEDDEN@esdsdf.dnet.ge.com (Jerry D. Hedden)
  1533.     * scl.c (difference divide): Now are asubrs.
  1534.  
  1535.     * Init.scm (*features*): fixed to correspond to SLIB conventions.
  1536.  
  1537. Mon Nov  9 12:03:58 1992  Aubrey Jaffer  (jaffer at camelot)
  1538.  
  1539.     * scl.h test.scm: (string->number "i") and "3I" and "3.3I" fixed
  1540.     to return #f.  Tests added to test.scm.
  1541.  
  1542. Fri Nov  6 16:39:38 1992  Aubrey Jaffer  (jaffer at camelot)
  1543.  
  1544.     * scm.h (rootcont): sysprotect added.
  1545.  
  1546.     From: Vincent Manis <manis@cs.ubc.ca>
  1547.     * scm.h: __cplusplus prototype support.
  1548.  
  1549. Thu Nov  5 00:39:50 1992  Aubrey Jaffer  (jaffer at Ivan)
  1550.  
  1551.     * eval.c (lookupcar): now checks for UNDEFINED in local bindings
  1552.     becuase LETREC inits to UNDEFINED.
  1553.  
  1554.     * sys.c (dynamic-wind): added.
  1555.  
  1556.     * config.h eval.c (ceval): CAUTIOUS mode added.
  1557.  
  1558.     From: hugh@ear.MIT.EDU (Hugh Secker-Walker)
  1559.     * eval.c (ceval): internal defines now transformed to letrecs.
  1560.  
  1561. Sun Oct 25 12:27:23 1992  Aubrey Jaffer  (jaffer at Ivan)
  1562.  
  1563.     * repl.c (read-line read-line!): created.
  1564.  
  1565. Sat Oct 24 18:36:23 1992  Aubrey Jaffer  (jaffer at camelot)
  1566.  
  1567.     * repl.c (lreadparen): now tail-recursive.
  1568.  
  1569.     * eval.c (copy-tree eval): added.  dummy_cell replaced with a
  1570.     cons(obj,UNDEFINED).
  1571.  
  1572. Thu Oct 22 21:26:53 1992  Aubrey Jaffer  (jaffer at Ivan)
  1573.  
  1574.     * repl.c (set-errno!): changed to set-errno.
  1575.  
  1576. Thu Oct 15 00:49:20 1992  Aubrey Jaffer  (jaffer at camelot)
  1577.  
  1578.     * sys.c (must_free): must_free created.  Pointers are set to 0.
  1579.     It detects objects being freed twice.
  1580.  
  1581. Wed Oct 14 23:57:43 1992  Aubrey Jaffer  (jaffer at camelot)
  1582.  
  1583.     * scm.c (run_scm): Now has INITS and FINALS.
  1584.  
  1585.     * scm.c (init_signals ignore_signals unignore_signals
  1586.     restore_signals): siginterrupt() for ultix.
  1587.  
  1588. Fri Oct  9 14:25:06 1992  Aubrey Jaffer  (jaffer at camelot)
  1589.  
  1590.     * all: put in explicit casts to (unsigned char *) and (long) to
  1591.     satisfy lint.
  1592.  
  1593.     * sys.c (gc): all to gc_end was during deferred interrupts,
  1594.     causing problems with verbose=3 and interrupts during GC.
  1595.  
  1596.     * config.h(SYSCALLDEF): fixed so that test on errno occurs before
  1597.     ALLOW_INTS (and possible call to user code).
  1598.  
  1599. Sun Oct  4 01:45:25 1992  Aubrey Jaffer  (jaffer at camelot)
  1600.  
  1601.     * eval.c (syntax_mem): removed gratuitous cons.
  1602.  
  1603.     * eval.c repl.c scm.h: Reduced static string use.  Added peephole
  1604.     optimizations for AND and OR.
  1605.  
  1606.     From: hugh@ear.MIT.EDU (Hugh Secker-Walker)
  1607.     * eval.c repl.c scm.h (syntax_mem):  syntax forms are now memoized
  1608.     so that syntax checks are done only once.  Interpreter is now
  1609.     smaller and faster and uses less stack space.  Modifications to
  1610.     code are now made under DEFER_INTS as they always should have
  1611.     been.
  1612.  
  1613. Wed Sep 30 22:06:24 1992  Aubrey Jaffer  (jaffer at Ivan)
  1614.  
  1615.     * scl.c subr.c scm.h config.h: Started adding bignum code.
  1616.  
  1617. Sun Sep 27 22:59:59 1992  Aubrey Jaffer  (jaffer at Ivan)
  1618.  
  1619.     * repl.c (restart): added.
  1620.  
  1621.     * sys.c (freeall): finished.
  1622.  
  1623.     * scm.h (tc7_symbol): split into tc7_ssymbol and tc7_msymbol to
  1624.     distinguish between non-GCable and GCable symbols.
  1625.  
  1626. Wed Sep 23 00:36:23 1992  Aubrey Jaffer  (jaffer at Ivan)
  1627.  
  1628.     * repl.c (peek_char lungetc): added workaround for TURBOC 1.0
  1629.     problem with ungetc inside SYSCALLDEF macro.
  1630.  
  1631.     * repl.c (iprin1): uses ttyname for #<stream ..> if available.
  1632.  
  1633.     * Init.scm: now sets verbose to 0 if stdin or stdout is not a tty.
  1634.  
  1635.     * repl.c (isatty?): added.
  1636.  
  1637.     * repl.c (verbose): levels bumped up by 1.  verbose == 0 means no
  1638.     prompt.
  1639.  
  1640.     * makefile.djg config.h (GNUDOS -> GO32): flags changed for djgpp108.
  1641.  
  1642. Wed Aug 26 21:46:26 1992  Aubrey Jaffer  (jaffer at Ivan)
  1643.  
  1644.     * test.scm: put in (test #f < 1 3 2) and (test #f >= 1 3 2).
  1645.  
  1646.     * scl.c (leqp greqp): put back in.  (not (< 1 3 2)) does not imply
  1647.     (>= 1 3 2).
  1648.  
  1649.     * makefile.unix: tar and shar files now created in subdirectory.
  1650.  
  1651.     * config.h time.c: Linux support added.
  1652.  
  1653.     * repl.c: Greatly improved VMS interrupt support.
  1654.  
  1655.     * eval.c (ceval): I_LET now changes to I_LETSTAR for single clause
  1656.     unnamed lets.y
  1657.  
  1658.     * (tc7_lsubr_2n): removed.
  1659.  
  1660. Fri Jul 31 00:24:50 1992  Aubrey Jaffer  (jaffer at Ivan)
  1661.  
  1662.     * unif.c (bit-position): fixed;  I am sure I had done these
  1663.     changes before.  Also corrected some error messages.
  1664.  
  1665.     From: campbell@redsox.bsw.com (Larry Campbell)
  1666.     * scm.h subr.c sys.c (equalp): smobfuns now include equalp.
  1667.  
  1668. Mon Jul 20 16:44:30 1992  Aubrey Jaffer  (jaffer at Ivan)
  1669.  
  1670.     From: Stephen Adams <S.R.Adams@ecs.southampton.ac.uk>
  1671.     * eval.c scm.h subr.c (BOOL_NOT) macro added to fix ^ bug in
  1672.     BorlandC.  This was fixed previously as well.
  1673.  
  1674.     From: campbell@redsox.bsw.com (Larry Campbell)
  1675.     * unif.c (vector-set-length!): was always typing to tc7_vector.
  1676.  
  1677. Sat Jul 18 01:07:33 1992  Aubrey Jaffer  (jaffer at Ivan)
  1678.  
  1679.     * subr.c sys.c (make_vector init_storage resizuve): mallocs and
  1680.     reallocs are now always > 0.
  1681.  
  1682.     * time.c (get_univ_time): bypassed mktime() for (__TURBOC__ == 1).
  1683.  
  1684. Mon Jul 13 22:27:04 1992  Aubrey Jaffer  (jaffer at Ivan)
  1685.  
  1686.     * repl.c (lreadr): now ignores first line of port if begins with "#!"
  1687.  
  1688.     * scl.c (lesseqp greqp): removed; changed to use tc7_lsubr_2n.
  1689.  
  1690.     * scm.h eval.c (tc7_lsubr_2n): type added.  Other subr types
  1691.     rearranged.
  1692.  
  1693. Sat Jul 11 23:47:18 1992  Aubrey Jaffer  (jaffer at Ivan)
  1694.  
  1695.     * scm.h sys.c repl.c eval.c code.doc (newsmob smobs smobfuns): now
  1696.     support    dynamically added smob types.  Promises moved to eval.c.
  1697.     Promises and arbiters are now newsmobs.
  1698.  
  1699.     * makefile.unix repl.c scl.c (floprint): moved from repl.c to
  1700.     scl.c.  The only files which care about -DFLOATS are now scl.c,
  1701.     eval.c, scm.c, and unif.c.
  1702.  
  1703.     * sys.c scm.h (init_storage): now uses variable num_protects
  1704.     instead of #define NUM_PROTECTS.
  1705.  
  1706. Tue Jul  7 00:00:57 1992  Aubrey Jaffer  (jaffer at Ivan)
  1707.  
  1708.     From: Ulf_Moeller@hh2.maus.de (Ulf Moeller)
  1709.     * Init.scm config.h makefile.prj: support for the ATARI-ST with
  1710.     Turbo C added.
  1711.  
  1712. Tue Jun 30 23:45:50 1992  Aubrey Jaffer  (jaffer at Ivan)
  1713.  
  1714.     * unif.c (make-uniform-vector uniform-vector-set!
  1715.     uniform-vector-ref): added.
  1716.  
  1717. Tue Jun 23 11:49:13 1992  Aubrey Jaffer  (jaffer at Ivan)
  1718.  
  1719.     * scm.h sys.c code.doc: rearranged tc7 codes and added bvect,
  1720.     ivect, uvect, fvect, dvect, cvect, and cclo.
  1721.  
  1722.     * scm.h sys.c eval.c repl.c code.doc: Changed symbols to be
  1723.     tc7_symbol.
  1724.  
  1725. Sat Jun  6 22:27:40 1992  Aubrey Jaffer  (jaffer at Ivan)
  1726.  
  1727.     From: campbell@redsox.bsw.com (Larry Campbell)
  1728.     * scl.c (divide): divide by 0 and Exact-only divides of non
  1729.     multiples now cause exception in RECKLESS mode.
  1730.  
  1731. Wed May 27 16:02:58 1992  Aubrey Jaffer  (jaffer at Ivan)
  1732.  
  1733.     * config.h scl.c (NUMBUFLEN): split into INTBUFLEN and FLOBUFLEN
  1734.     and made proportional to size of numeric types.
  1735.  
  1736.     From: fred@sce.carleton.ca (Fred J Kaudel)
  1737.     * makefile.ast scm.c Init.scm: minor chages for ATARI ST support.
  1738.  
  1739.     * test.scm (test-inexact): created.
  1740.  
  1741. Thu May 21 11:43:41 1992  Aubrey Jaffer  (jaffer at Ivan)
  1742.  
  1743.     * patchlvl.h (PATCHLEVEL): 5
  1744.  
  1745.     From: hugh@ear.mit.edu (Hugh Secker-Walker)
  1746.     * config.h: better wording for heap allocation strategy
  1747.     explanation.
  1748.  
  1749. Wed May 20 00:31:18 1992  Aubrey Jaffer  (jaffer at Ivan)
  1750.  
  1751.     From S.R.Adams@ecs.southampton.ac.uk
  1752.     * subr.c (stci_leqp st_leqp): reversed order of ^ clauses to avoid
  1753.     Borland 3.0 bug.
  1754.  
  1755.     * sys.c (gc_sweep): missing i-=2; added when splicing out segment.
  1756.  
  1757.     * MANUAL time.c (get-universal-time decode-universal-time): half
  1758.     hearted attempt to add these.  Needs bignums.
  1759.  
  1760. Wed May 13 14:01:07 1992  Aubrey Jaffer  (jaffer at Ivan)
  1761.  
  1762.     * sys.c (gc_mark): improved tail recursivness for CONSes.
  1763.  
  1764.     * repl.c (growth_mon): now prints out the hplims table if
  1765.     verbose>3.
  1766.  
  1767.     * sys.c (init_heap_seg): Serious bug in growing hplims fixed.
  1768.     num_heap_segs eliminated; hplims are realloced whenever grown.
  1769.  
  1770. Tue May 12 15:36:17 1992  Aubrey Jaffer  (jaffer at train)
  1771.  
  1772.     * config.h sys.c (alloc_some_heap expmem):  expmem captures
  1773.     whether the INIT_HEAP_SIZE allocation was successful.  If so,
  1774.     alloc_some_heap uses exponential heap allocation instead of
  1775.     HEAP_SEG_SIZE.
  1776.  
  1777. Mon May 11 15:29:04 1992  Aubrey Jaffer  (jaffer at Ivan)
  1778.  
  1779.     * sys.c (gc_sweep init_heap_seg heap_org): Empty heap segments
  1780.     are now freed.
  1781.  
  1782.     * sc2.c (STR_EXTENSIONS): renamed REV2_PROCEDURES and R2RS and
  1783.     R3RS functions put into sc2.c.
  1784.  
  1785. Sun May 10 01:34:11 1992  Aubrey Jaffer  (jaffer at Ivan)
  1786.  
  1787.     * scm.c (ignore_interrupts unignore_interrupts): added for
  1788.     system, edt$edit, and popen to use.
  1789.  
  1790.     * repl.c (lwrite display newline write_char): Close pipe if EPIPE.
  1791.  
  1792.     * repl.c (file_set_position): now errs on ESPIPE.
  1793.  
  1794.     * scm.c (SIGPIPE): now ignored (errs come back as EPIPE).
  1795.  
  1796. Sat May  9 17:52:36 1992  Aubrey Jaffer  (jaffer at Ivan)
  1797.  
  1798.     From: Stephen Adams <S.R.Adams@ecs.southampton.ac.uk>
  1799.     * config.h (PROT386): PROT386 added.  PTR_LT and CELL_UP modified.
  1800.  
  1801. Fri May  8 17:57:22 1992  Aubrey Jaffer  (jaffer at Ivan)
  1802.  
  1803.     From: hugh@ear.mit.edu (Hugh Secker-Walker)
  1804.     * Init.scm (last-pair append!): last-pair is faster version.
  1805.     Append! corrected for null first arg.  (getenv "HOME") now gets
  1806.     a "/" added if not present.
  1807.  
  1808.     * config.scm (MIN_GC_YIELD): now proportional to HEAP_SEG_SIZE.
  1809.  
  1810.     * README: setting environment variables corrected.
  1811.  
  1812.     * subr.c (length): error message now has arg if not a list.
  1813.  
  1814.     * sys.c (open-pipe): now turns off interrupts before forking.
  1815.  
  1816.     * scl.c (lsystem): now turns off interrupts before forking.
  1817.  
  1818.     * scm.c (ignore_signals): created.
  1819.  
  1820. Sat May  2 01:02:16 1992  Aubrey Jaffer  (jaffer at Ivan)
  1821.  
  1822.     * Init.c (WITH-INPUT-FROM-FILE WITH-OUTPUT-TO-FILE): defined in
  1823.     terms of current-input-port and current-output-port.  Bug in
  1824.     open-input-pipe and open-output-pipe fixed.
  1825.  
  1826.     * sys.c repl.c (current-input-port current-output-port): moved
  1827.     from sys.c to repl.c.  set-current-input-port and
  1828.     set-current-output-port added to repl.c.
  1829.  
  1830. Mon Apr 13 22:51:32 1992  Aubrey Jaffer  (jaffer at Ivan)
  1831.  
  1832.     * patchlvl.h: (PATCHLEVEL): released scm4a1.
  1833.  
  1834.     * makefile.* VMSBUILD.COM VMSGCC.COM: compile time.h.
  1835.  
  1836.     * scm.c (alrm_signal int_signal): now save and restore errno so
  1837.     SYSCALL will work correctly across interrupts.
  1838.  
  1839. Sun Apr 12 01:44:10 1992  Aubrey Jaffer  (jaffer at Ivan)
  1840.  
  1841.     * patchlvl.h: (PATCHLEVEL): released scm4a0.
  1842.  
  1843.     * repl.c (lread): tok_buf now local to each invocation of read.
  1844.     This makes READ interruptable and reentrant.
  1845.  
  1846.     * sys.c MANUAL (STRING-SET-LENGTH! STRING-VECTOR-LENGTH!): created.
  1847.  
  1848.     * sys.c repl.c (grow_tok_buf tok_buf tok_buf_len): moved to repl.c
  1849.  
  1850.     * repl.c (lfwrite): now emulated for VMS.
  1851.  
  1852.     * repl.c scl.c (num_buf): now local to all routines that use it.
  1853.  
  1854.     * time.h: created by moving time functions from repl.c.  Read and
  1855.     write functions were moved from sys.c to repl.c.
  1856.  
  1857.     * sys.c repl.c (DEFER_INTS ALLOW_INTS CHECK_INTS): totally
  1858.     rewritten.  SIGALRM and SIGINT now execute at interrupt level.
  1859.     Interrupts deferred only for protected code sections, not for
  1860.     reads and writes.
  1861.  
  1862.     * sys.c repl.c (SYSCALL): created to reexecute system calls
  1863.     interrupted (EINTR) by SIGALRM and SIGINT.
  1864.  
  1865.     * sys.c scl.c (flo0): 0.0 is now always flo0.
  1866.  
  1867.     * repl.c sys.c (TRANSCRIPT-ON TRANSCRIPT-OFF): added.  This
  1868.     required shadowing putc, fputs, fwrite, and getc with lputc,
  1869.     lputs, lfwrite, and lgetc.
  1870.  
  1871. Sun Apr  5 00:27:33 1992  Aubrey Jaffer  (jaffer at Ivan)
  1872.  
  1873.     From: HEDDEN@esdsdf.dnet.ge.com (Jerry D. Hedden)
  1874.     * scl.c (eqp lessp greaterp lesseqp greatereqp):
  1875.     Comparisons with inexact numbers was not being performed
  1876.     correctly.  For example, (< 1.0 2.0 1.5) would yield #t.  What was
  1877.     missing was a line x=y; in the inexact comparison sections of
  1878.     lessp(), greaterp(), lesseqp() and greatereqp().  In addition, I
  1879.     modified these routines and eqp() to allow for mixed arithmetic
  1880.     types.
  1881.  
  1882. Sat Apr  4 00:17:29 1992  Aubrey Jaffer  (jaffer at Ivan)
  1883.  
  1884.     * scm.h code.doc: tc7_bignum => tc7_spare.  Added tc16_bigpos and
  1885.     tc16_bigneg.  SMOBS reordered.  tc16_record added.
  1886.  
  1887.     * scm.h repl.c sys.c (make-arbiter try-arbiter release-arbiter):
  1888.     added.  tc16_arbiter added.
  1889.  
  1890. Fri Apr  3 01:25:35 1992  Aubrey Jaffer  (jaffer at Ivan)
  1891.  
  1892.     * sys.c config.h (TEMPTEMPLATE): created in config.h.
  1893.  
  1894.     * scm.h: removed long aliases for C versions of Scheme functions.
  1895.  
  1896.     * sys.c eval.c scm.h: (delay force makprom): added.  Also added
  1897.     tc16_promise data type.
  1898.  
  1899.     * Init.scm (trace untrace): added autoloads and read macros.
  1900.  
  1901.     From: T. Kurt Bond, tkb@mtnet2.wvnet.edu
  1902.     * sys.c (template): correct template for VMS.
  1903.  
  1904. Tue Mar 31 01:50:12 1992  Aubrey Jaffer  (jaffer at Ivan)
  1905.  
  1906.     * sys.c config.h Init.scm (open-file open-pipe): created and
  1907.     expressed other open functions in terms of.  Bracketed all i/o
  1908.     system calls with DEFER and ALLOW _SIGINTS.
  1909.  
  1910. Sat Mar 28 00:24:01 1992  Aubrey Jaffer  (jaffer at Ivan)
  1911.  
  1912.     * sys.c MANUAL (#.): read macro syntax added.  Balanced comments
  1913.     also documented.
  1914.  
  1915. Fri Mar 27 22:53:26 1992  Aubrey Jaffer  (jaffer at Ivan)
  1916.  
  1917.     * sys.c (iprin1): changed printed representation for unreadable
  1918.     objects from #[...] to #<...>.
  1919.  
  1920.     From: brh@aquila.ahse.cdc.com (brian r hanson x6009):
  1921.     * scm.h config.h (NCELLP PTR_LT): fixes for 64 bit pointers on
  1922.     nosve.
  1923.  
  1924. Fri Mar 20 01:36:08 1992  Aubrey Jaffer  (jaffer at Ivan)
  1925.  
  1926.     * Released scm3c13
  1927.  
  1928.     * code.doc: corrected some minor inconsistencies and added a
  1929.     section "To add a package of new procedures to scm".
  1930.  
  1931. Sun Mar 15 19:44:45 1992  Aubrey Jaffer  (jaffer at Ivan)
  1932.  
  1933.     * Init.scm: now loads <program-name>_INIT_PATH when <program-name>
  1934.     is not "SCM".
  1935.  
  1936.     * config.h (PTR_LT): (x < y) => ((x) < (y))
  1937.  
  1938. Wed Mar  4 01:53:15 1992  Aubrey Jaffer  (jaffer at Ivan)
  1939.  
  1940.     * Released scm3c12.
  1941.  
  1942.     * scm.h code.doc eval.c sys.c (IXSYM): Eliminated Immediate IXSYM
  1943.     type.
  1944.  
  1945. Tue Mar  3 00:58:18 1992  Aubrey Jaffer  (jaffer at Ivan)
  1946.  
  1947.     * eval.c config.c (ceval DEFINED? SYNTAX_EXTENSIONS): added
  1948.     DEFINED? to ceval conditional on SYNTAX_EXTENSIONS.
  1949.  
  1950.     From: Andrew Wilcox <andrew@astro.psu.edu>
  1951.     * makefile.unix scm.c (main init_scm display_banner init_signals
  1952.     restore_signals run_scm): RTL support.
  1953.  
  1954. Mon Mar  2 19:05:29 1992  Aubrey Jaffer  (jaffer at Ivan)
  1955.  
  1956.     * subr.c (make-string): now checks for ARG1 >= 0.
  1957.  
  1958. Fri Feb 28 00:13:00 1992  Aubrey Jaffer  (jaffer at Ivan)
  1959.  
  1960.     * patchlvl.h (PATCHLEVEL): 12
  1961.  
  1962.     * Init.scm: loads JCAL if scm is invoked with name JCAL, JACAL,
  1963.     jcal or jacal.
  1964.  
  1965.     * Init.scm (ABS): set to MAGNITUDE if FLOATS are supported.
  1966.  
  1967.     * gc_mark gc: no longer assume sizeof(short) == 2.
  1968.  
  1969.     * config.h (CELL_UP CELL_DN): no longer assume sizeof(CELL) == 8.
  1970.  
  1971.     From: Brian Hanson, Control Data Corporation.  brh@ahse.cdc.com
  1972.     * scl.c config.h repl.c: partial port to Control Data NOS/VE.
  1973.  
  1974.     From: fred@sce.carleton.ca (Fred J Kaudel)
  1975.     * repl.c Init.scm makefile.ast: Port to Atari-ST
  1976.  
  1977.     * sys.c scm.h eval.c (throw): renamed to lthrow to avoid conflict
  1978.     with Gnu CC.
  1979.  
  1980. Mon Feb 10 14:31:24 1992  Aubrey Jaffer  (jaffer at Ivan)
  1981.  
  1982.     * sys.c (delete-file rename-file): added.
  1983.  
  1984.     * sys.c (chdir): now returns #f instead of error.
  1985.  
  1986.     * Init.scm: Calls to PROVIDED? inlined so no longer dependent on
  1987.     SLIB being loaded.  (set! ABS MAGNITUDE) if inexacts supported.
  1988.     Support for slib1b3 added.
  1989.  
  1990.     * sys.c (alloc_some_heap): fixed bugs.  One fix from
  1991.     bowles@is.s.u-tokyo.ac.jp.
  1992.  
  1993.     * eval.c (ceval):  fixed bug with internal (define foo bar) where
  1994.     bar is a global.  Put badfun2: back in for better error reporting.
  1995.  
  1996.     * patchlvl.h (PATCHLEVEL): 11
  1997.  
  1998. Mon Jan 20 16:19:04 1992  Aubrey Jaffer  (jaffer at Ivan)
  1999.  
  2000.     * config.c (INITS): comments added.
  2001.  
  2002.     From: T. Kurt Bond, tkb@mtnet2.wvnet.edu
  2003.     * VMSGCC.COM VMSMAKE.COM: now take arguments.
  2004.  
  2005.     From: "Fred Bayer" <bayerf@lan.informatik.tu-muenchen.de>
  2006.     * makefile.aztec repl.c: Aztec C (makefile) port.
  2007.  
  2008. Fri Jan 17 16:36:07 1992  Aubrey Jaffer  (jaffer at Ivan)
  2009.  
  2010.     * sys.c (gc init_storage stack_size): stack_size now of type
  2011.     sizet.  init_storage no longer uses it.  gc() now uses it instead
  2012.     of pointer to local.  This fixes bug with gcc -O.
  2013.  
  2014.     * sys.c (cons cons2 cons2r):  &w;&x;&y; removed because of above
  2015.     fix.
  2016.  
  2017. Thu Jan 16 22:33:00 1992  Aubrey Jaffer  (jaffer at Ivan)
  2018.  
  2019.     * scl.c (real-part): added.
  2020.  
  2021. Wed Jan 15 13:06:39 1992  Aubrey Jaffer  (jaffer at Ivan)
  2022.  
  2023.     From: "Fred Bayer" <bayerf@lan.informatik.tu-muenchen.de>
  2024.     * scl.c repl.c scm.c config.c: Port for AMIGA
  2025.  
  2026.     * scm.h (REALP): fixed for SINGLES not defined.
  2027.  
  2028. Sat Jan 11 20:20:40 1992  Aubrey Jaffer  (jaffer at Ivan)
  2029.  
  2030.     * patchlvl.h (PATCHLEVEL): 8 released.
  2031.  
  2032.     * README: added hints for EDITING SCHEME CODE.
  2033.  
  2034.     * repl.c (SIGRETTYPE): now int for __TURBOC__.
  2035.  
  2036.     * makefile.tur makefile.djg: created.
  2037.  
  2038.     * config.h: DJGPP (__GO32__) support added.
  2039.  
  2040.     * scm.h (memv): definition added.
  2041.  
  2042. Sun Jan  5 00:33:44 1992  Aubrey Jaffer  (jaffer at Ivan)
  2043.  
  2044.     * repl.c makefile.* (main): INITS added.
  2045.  
  2046.     * scl.c: fixed ASSERT statements with mismatched ARGn and
  2047.     arguments.
  2048.  
  2049. Thu Dec 19 19:16:50 1991  Aubrey Jaffer  (jaffer at train)
  2050.  
  2051.     * sys.c (cons cons2 cons2r): added fix for gcc -O bug.
  2052.  
  2053.     * repl.c (LACK_FTIME LACK_TIMES): more messing with these.
  2054.  
  2055.     * sys.c config.o (HAVE_PIPE): created.
  2056.  
  2057.     * config.h (FLT_RADIX): now #ifdef FLT_RADIX rather than __STDC__.
  2058.     Needed for DJGCC.
  2059.  
  2060.     * sys.c (DBLMANT_DIG DBL_FLOAT_DIG): now tested for directly
  2061.     rather than STDC_INCLUDES.
  2062.  
  2063.     * makefile.unix (subr.o): explicit compilation line added.
  2064.  
  2065.     * scl.c (truncate -> ltrunc):  Name conflict with DJGCC libraries.
  2066.  
  2067. Sun Dec  8 23:31:04 1991  Aubrey Jaffer  (jaffer at Ivan)
  2068.  
  2069.     * eval.c (apply): added check for number of args to closures.
  2070.  
  2071. Sat Dec  7 01:30:46 1991  Aubrey Jaffer  (jaffer at Ivan)
  2072.  
  2073.     * patchlvl.h (PATCHLEVEL): 7
  2074.  
  2075.     * sys.c (chdir): THINK_C doesn't support;
  2076.  
  2077.     * repl.c: SVR2 needs <time.h> instead of <sys/time.h>
  2078.  
  2079.     * repl.c: SVR2 needs LACK_FTIME
  2080.  
  2081.     * repl.c: #include <sys/timeb.h> now automatic ifndef LACK_FTIME.
  2082.  
  2083. Mon Dec  2 15:42:11 1991  Aubrey Jaffer  (jaffer at Ivan)
  2084.  
  2085.     * patchlvl.h (PATCHLEVEL): 5
  2086.  
  2087.     * sys.c (intern sysintern): made strings and hash unsigned.  Fixed
  2088.     bug with characters > 128 in symbols.
  2089.  
  2090.     * scl.c (eqv? memv assv): created if FLOATS is #defined.  From
  2091.     boopsy!mike@maccs.dcss.mcmaster.ca (Michael A. Borza).
  2092.  
  2093. Mon Dec  2 11:37:11 1991  Aubrey Jaffer  (jaffer at Ivan)
  2094.  
  2095.     * patchlvl.h (PATCHLEVEL): 4
  2096.  
  2097.     * sys.c (gc_sweep): usaage of pclose() now conditional on unix.
  2098.  
  2099.     * MANUAL (chdir): documented.
  2100.  
  2101.    from T. Kurt Bond, Adminisoft, Inc. <tkb@MTNET2.WVNET.EDU>:
  2102.  
  2103.     * repl.c sys.c (errno): VMS GNU C uses a special hack in <errno.h>
  2104.     to get the link-time attributes for the errno variable to match
  2105.     those the VMS C run-time library expects (it makes errno a
  2106.     preprocessor define so that the variable that the compiler sees
  2107.     has a special form that the assember then interprets), so if it is
  2108.     VMS and __GNUC__ is defined <errno.h> needs included.
  2109.  
  2110.     * setjump.h (SETJUMP LONGJUMP): SETJUMP and LONGJUMP changed to
  2111.     setjump and longjump. The VMS linker is case-indifferent.  VMS GNU
  2112.     C mangles variable names that have upper case letters in them to
  2113.     preserve their uniqueness.
  2114.  
  2115.     * sys.c (iprint iprin1): Now inline putc loops instead of calls to
  2116.     fwrite for VMS. The VMS `fwrite' has been enhanced to work with
  2117.     VMS's Record Management Sevice, RMS.  Part of this enhancement is
  2118.     to treat each call to `fwrite' as producing a seperate record.
  2119.     This works fine if you are writing to a stream_LF file or an
  2120.     actual terminal screen, but if you are writing to a file that has
  2121.     implied carriage control (such as a batch log file, or a mailbox
  2122.     used for subprocess communication), which is a more common file
  2123.     organization for RMS, each call to `fwrite' has a newline appended
  2124.     to it.  This causes much of the output to be incorrectly split
  2125.     across lines.
  2126.  
  2127.     * vmsgcc.com: created.
  2128.  
  2129. Sun Dec  1 00:33:42 1991  Aubrey Jaffer  (jaffer at Ivan)
  2130.  
  2131.     * patchlvl.h (PATCHLEVEL): 3 released.
  2132.  
  2133.     * Init.scm (rev2-procedures): all now supported.
  2134.  
  2135.     * Init.scm sys.c MANUAL (flush): flush changed to force-output to
  2136.     be compatible with Common Lisp.
  2137.  
  2138.     * sys.c (chdir): added.
  2139.  
  2140. Wed Nov 27 09:37:20 1991  Aubrey Jaffer  (jaffer at Ivan)
  2141.  
  2142.     * patchlvl.h (PATCHLEVEL): 2
  2143.  
  2144.     * repl.c (set-errno! perror): added.
  2145.  
  2146.     * sys.c (gc): FLUSH_REGISTER_WINDOWS call added.
  2147.  
  2148.     * sys.c (open-input-pipe open-output-pipe close-pipe): added.
  2149.  
  2150. Mon Nov 25 13:02:13 1991  Aubrey Jaffer  (jaffer at Ivan)
  2151.  
  2152.     * patchlvl.h (PATCHLEVEL): 1
  2153.  
  2154.     * sys.c (flush): added.
  2155.  
  2156.     * repl.c (mytime): macro was missing ().  CLKTCK now defaults to 60.
  2157.  
  2158.     * README Init.scm subr.c scm.c repl.c scl.c: From Yasuaki Honda,
  2159.     honda@csl.SONY.co.jp, support for Macintosh running Think C.
  2160.  
  2161. Sun Nov 24 15:30:51 1991  Aubrey Jaffer  (jaffer at Ivan)
  2162.  
  2163.     * scl.c (str2flo): fixed parsing of -1-i.
  2164.  
  2165.     * repl.c (repl_driver): from jjc@jclark.com, now checks that
  2166.     s_response is non-NULL before INTERNing.
  2167.  
  2168.     * subr.c (equal): Now correct for inexacts.  Need to do eqv.
  2169.  
  2170.     * scm.h (REALPART): fixed pixel C compiler bug with doubles inside
  2171.     `?' conditionals.
  2172.  
  2173.     * scl.c (zerop): now checks imaginary half of complex number.
  2174.  
  2175. Tue Nov 19 00:10:59 1991  Aubrey Jaffer  (jaffer at Ivan)
  2176.  
  2177.     * version scm3c0
  2178.  
  2179.     * documentation: changed revised^3.99 to revised^4.
  2180.  
  2181.     * example.scm: created from Scheme^4 spec.
  2182.  
  2183.     * makefile.msc: -Ox changed to -Oxp to fix over-enthusiastic float
  2184.     optimizations.
  2185.  
  2186.     * Init.scm (ed): defined.
  2187.  
  2188.     * repl.c (def_err_response): UNDEFINED objects don't print out.
  2189.  
  2190. Sun Nov 17 23:11:03 1991  Aubrey Jaffer  (jaffer at Ivan)
  2191.  
  2192.     * scl.c (vms-debug): now returns UNSPECIFIED.
  2193.  
  2194.     * repl.c MANUAL (restart_repl): RESTART-REPL changed to ABORT.
  2195.  
  2196.     * repl.c (err_ctrl_c):now clears sig_pending.
  2197.  
  2198. Wed Nov 13 23:51:36 1991  Aubrey Jaffer  (jaffer at Ivan)
  2199.  
  2200.     * config.h: removed #ifdef sparc #define STDC_HEADERS
  2201.  
  2202.     * makefile.bor: added extra '\' to filepath.
  2203.  
  2204.     * repl.c (everr): fixed bug with ARGx.
  2205.  
  2206.     * repl.c (errmsgs def_err_response): cleaned up error messages.
  2207.  
  2208. Sun Nov 10 23:10:24 1991  Aubrey Jaffer  (jaffer at Ivan)
  2209.  
  2210.     * released scm3b7
  2211.  
  2212. Mon Nov  4 18:36:49 1991  Aubrey Jaffer  (jaffer at Ivan)
  2213.  
  2214.     * patchlvl.h (PATCHLEVEL): 6
  2215.  
  2216.     * sys.c (idbl2str): tests for Not-a-Number and Infinity added.
  2217.  
  2218.     * repl.c scm.h: response system rewritten and integrated with
  2219.     error system.
  2220.  
  2221.     * scl.c (/): now returns inexacts if integer arguments do not
  2222.     divide evenly.
  2223.  
  2224. Mon Oct 28 23:44:16 1991  Aubrey Jaffer  (jaffer at Ivan)
  2225.  
  2226.     * makefile.unix: can now make float (scm) and integer-only (escm)
  2227.     versions in same directory.
  2228.  
  2229.     * repl.c (*sigint-response* *arithmetic-response* restart-repl):
  2230.     responses for signals added.
  2231.  
  2232.     * scl.c (lmin lmax sum difference product divide expt exp log):
  2233.     now take mixed types.  expt available in non-FLOATS compilation.
  2234.  
  2235.     * repl.c (get-decoded-time): added.  Includes and time functions
  2236.     reorganized.
  2237.  
  2238.     * sys.c (object-hash object-unhash): added.
  2239.  
  2240. Tue Oct 15 00:45:35 1991  Aubrey Jaffer  (jaffer at Ivan)
  2241.  
  2242.     * repl.c Init.scm (*features*): moved constant features into
  2243.     Init.scm.  Moved tests for numeric features to slib/require.scm.
  2244.  
  2245.     * release scm3b1.
  2246.  
  2247.     * config.h (ANSI_INCLUDES): redid include files.
  2248.  
  2249.     * subr.c scl.c: moved all FLOAT conditionals from subr.c to scl.c.
  2250.  
  2251. Wed Oct  9 00:28:54 1991  Aubrey Jaffer  (jaffer at Ivan)
  2252.  
  2253.     * release scm3a13.
  2254.  
  2255.     * patchlvl.h (PATCHLEVEL): 13
  2256.  
  2257.     * Init.scm: "vicinity.scm" changed to "require.scm"
  2258.  
  2259. Mon Oct  7 00:34:07 1991  Aubrey Jaffer  (jaffer at Ivan)
  2260.  
  2261.     * test.scm: test of redefining built-in symbol and extra ')'
  2262.     removed.
  2263.  
  2264.     * scm.doc makefile.unix: scm.doc created from scm.1 in
  2265.     makefile.unix.
  2266.  
  2267.     * VMSBUILD.COM setjump.asm setjump.h (setjmp longjmp jmp_buf): put
  2268.     in from comp.sources.reviewed in order to let VMS have full
  2269.     continuations.  VMSBUILD.COM is a compile script.
  2270.  
  2271. Fri Oct  4 00:05:54 1991  Aubrey Jaffer  (jaffer at Ivan)
  2272.  
  2273.     * scl.c(sleep): removed; not supported by MSC (although could be
  2274.     written).
  2275.  
  2276.     * scm.h config.h (size_t): moved to config.h.
  2277.  
  2278.     * sys.c (f_getc): -> lgetc for vax, getc otherwise.
  2279.  
  2280.     * patchlvl.h (PATCHLEVEL): 12
  2281.  
  2282. Mon Sep 30 01:14:48 1991  Aubrey Jaffer  (jaffer at Ivan)
  2283.  
  2284.     * scl.c(sleep): created.
  2285.  
  2286.     * repl.c(internal-time-units-per-second get=internal-run-time):
  2287.     created
  2288.  
  2289.     * repl.c: created from scm.c (shuffled around lots of functions).
  2290.  
  2291. Sat Sep 28 00:22:30 1991  Aubrey Jaffer  (jaffer at Ivan)
  2292.  
  2293.     * scm.c config.h (char-code-limit most-positive-fixnum
  2294.     most-negative-fixnum): created.
  2295.  
  2296. Tue Sep 24 01:21:43 1991  Aubrey Jaffer  (jaffer at Ivan)
  2297.  
  2298.     * scm.c (software-type); created.
  2299.  
  2300.     * scm.c config.h (terms, list-file, library-vicinity,
  2301.     program-vicinity, user-vicinity, make-vicinity, sub-vicinity):
  2302.     moved to Init.scm and library.
  2303.  
  2304.     * scm.c config.h Makefile (PROGPATH): changed to IMPLPATH.
  2305.  
  2306.     * Init.scm: created
  2307.  
  2308. Fri Sep 20 13:22:08 1991  Aubrey Jaffer  (jaffer at Ivan)
  2309.  
  2310.     * patchlvl.h (PATCHLEVEL): 5
  2311.  
  2312.     * all: changed declarations to size_t where appropriate.  scm.h
  2313.     test preprocessor flag _SIZE_T to determine if already declared.
  2314.     size_t should greatly enhance portability to Macintosh and other
  2315.     machines.
  2316.  
  2317. Tue Sep 17 01:15:31 1991  Aubrey Jaffer  (jaffer at Ivan)
  2318.  
  2319.     * scm.c (tmpnam): support for mktemp added.
  2320.  
  2321. Mon Sep 16 14:06:26 1991  Aubrey Jaffer  (jaffer at train)
  2322.  
  2323.     * scm.c (implementation-vicinity): added.  (program-vicinity) now
  2324.     returns undefined if called not within a load.
  2325.  
  2326.     * sys.c (call-with-io-file): removed.
  2327.  
  2328.     * scm.c (tmpnam): added.
  2329.  
  2330.     * scm.c config.h (tmporary-vicinity): removed.
  2331.  
  2332. Sun Sep 15 22:21:30 1991  Aubrey Jaffer  (jaffer at Ivan)
  2333.  
  2334.     * subr.c scm.h (remainder): renamed to lremainder to avoid
  2335.     conflict with math.h on SunOS4.1 (from bevan@cs.man.ac.uk).
  2336.  
  2337. Sat Sep  7 22:27:49 1991  Aubrey Jaffer  (jaffer at Ivan)
  2338.  
  2339.     * scm.c (program-arguments load): program-arguments created.
  2340.  
  2341.     * scm.c (getenv): added getenv and used for program-vicinity and
  2342.     library-vicinity.
  2343.  
  2344.     * scm.c (program-vicinity): fixed if load_name is NULL.
  2345.  
  2346.     * scl.c config.h (substring-move-left! substring-move-right!):
  2347.     added under STR_EXTENSIONS flag.
  2348.  
  2349. Wed Aug 28 22:59:20 1991  Aubrey Jaffer  (jaffer at Ivan)
  2350.  
  2351.     * Sending scm3a to comp.sources.reviewed
  2352.  
  2353.     * scm.c (main): prints out feature list at startup.
  2354.  
  2355.     * subr.c (eqp lessp greaterp lesseqp greatereqp): now work for
  2356.     floats.
  2357.  
  2358.     * scl.c (sum difference divide product): moved to scl.c and
  2359.     now work for floats.
  2360.  
  2361.     * all: all masks with low bits explicity cast to (int).
  2362.  
  2363. Sat Aug 17 00:39:06 1991  Aubrey Jaffer  (jaffer at Ivan)
  2364.  
  2365.     * sys.c subr.c scl.c (iint2str istr2int istring2number istr2flo
  2366.     iflo2str idbl2str): number I/O and conversion to strings rewritten.
  2367.  
  2368.     * sys.c (gc_mark): continuations now marked SHORT_ALIGNed. (from
  2369.     Craig Lawson).
  2370.  
  2371.     * added QuickC support from Craig Lawson.
  2372.  
  2373. Tue Jul 30 01:08:52 1991  Aubrey Jaffer  (jaffer at Ivan)
  2374.  
  2375.     * config.h: #ifdef pyr added.
  2376.  
  2377.     * scm.c MANUAL: vicinity functions added.
  2378.  
  2379. Tue Jul 16 00:51:23 1991  Aubrey Jaffer  (jaffer at Ivan)
  2380.  
  2381.     * scl.c sys.c: float functions added.
  2382.  
  2383.     * Documentation reorganized according to comp.sources.reviewed
  2384.     guidelines.
  2385.  
  2386.     * sys.c config.h (open_input_file open_output_file open_rw_file):
  2387.     file mode string moved to defines in config.h
  2388.  
  2389. Thu Jul 11 23:30:03 1991  Aubrey Jaffer  (jaffer at Ivan)
  2390.  
  2391.     * sys.c config.h (EBCDIC ASCII) moved to config.h
  2392.  
  2393.     * subr.c config.h (BADIVSGNS) moved to config.h
  2394.  
  2395.     * scm.h config.h (SRS) moved to config.h
  2396.  
  2397. Sun Jul  7 23:49:26 1991  Aubrey Jaffer  (jaffer at Ivan)
  2398.  
  2399.     * all: started adding comp.sources.reviewed corrections and
  2400.     suggestions.
  2401.  
  2402.     * scm.c patchlvl.h (main): PATCHLEVEL now printed in banner.
  2403.  
  2404.     * subr.c sys.c: read_integer removed. istring2number created.
  2405.     lread and string2number now both use istring2number.
  2406.  
  2407. Fri Jun  7 13:43:40 1991  Aubrey Jaffer  (jaffer at Ivan)
  2408.  
  2409.     * VERSION scm2e sent to comp.sources.reviewed
  2410.  
  2411.     * public.lic: renamed COPYING.
  2412.  
  2413.     * scm.c (gc_status): gc_status renamed prolixity.  Now returns old
  2414.     value of verbose.  Can take 0 arguments.
  2415.  
  2416.     * sys.c (lreadr): added #| common lisp style |# balanced comments.
  2417.  
  2418.     * scm.h scm.c sys.c (I/O functions): combined **PORTP and OPENP to
  2419.     become OP**PORTP.
  2420.  
  2421.     * scm.h sys.c (gc_sweep): moved OPENP to bit in upper half word of
  2422.     port cells.
  2423.  
  2424. Sat May 25 00:04:45 1991  Aubrey Jaffer  (jaffer at Ivan)
  2425.  
  2426.     * scm.c (stack_start_ptr, repl_driver, main, err functions):
  2427.     exits removed from all err functions.  all escapes through
  2428.     repl_driver.
  2429.  
  2430.     * scm.c README (verbose): Now has graded verbosity.
  2431.  
  2432.     * scm.c README (quit): Now takes optional argument which is return
  2433.     value.
  2434.  
  2435. Wed May 22 01:40:17 1991  Aubrey Jaffer  (jaffer at Ivan)
  2436.  
  2437.     * code.doc scm.h eval.c (ceval): Rearanged immediate type codes to
  2438.     create IXSYMs (immediate extension syms) to allow more than 15
  2439.     special forms.  ILOCs now work with up to 32767 in one environment
  2440.     frame.  Dispatch is slightly faster for ILOCs in function position.
  2441.     ICHRs can be up to 24 bits.
  2442.  
  2443. Fri May 10 00:16:32 1991  Aubrey Jaffer  (jaffer at Ivan)
  2444.  
  2445.     * scm.h sys.c (gc_mark, gc_sweep): GCMARK moved to bit 8 of CAR
  2446.     for some datatypes.
  2447.  
  2448. Wed May  1 14:11:05 1991  Aubrey Jaffer  (jaffer at Ivan)
  2449.  
  2450.     * patch1 MESSAGE SENT.
  2451.  
  2452.     * sys.c (lreadr) from jclark@bugs.specialix.co.uk.jjc: removed
  2453.     order evaluation bug when growing tok_buf.
  2454.  
  2455. Fri Apr 26 10:39:41 1991  Aubrey Jaffer  (jaffer at Ivan)
  2456.  
  2457.     * scm2d RELEASED
  2458.  
  2459.     * sys.c (closure) no longer calls ilength (ECONS problem).  Added
  2460.     ASSERT before call to closure in eval.
  2461.  
  2462. Thu Apr 25 09:53:40 1991  Aubrey Jaffer  (jaffer at Ivan)
  2463.  
  2464.     * scm.c (error): created.
  2465.  
  2466. Wed Apr 24 16:58:06 1991  Aubrey Jaffer  (jaffer at Ivan)
  2467.  
  2468.     * utils.scm: created.
  2469.  
  2470.     * makefile (name8s): code from dmason works in makefile.
  2471.  
  2472.     * eval.c (evalcar): fixed errobj on (else 3 4) error.
  2473.     Inlined function application in (cond ((foo => fun))).
  2474.  
  2475.     * sys.c (lprin1): change looped putcs to fwrite.
  2476.  
  2477. Wed Apr 24 01:54:09 1991  Aubrey Jaffer  (jaffer at Ivan)
  2478.  
  2479.     * sys.c (lreadr): fixed assert for "eof in string".
  2480.  
  2481.     * subr.c (lgcd): changed to work with borland C.
  2482.  
  2483.     * eval.c (eval): added checks to LAMBDA and LET.
  2484.  
  2485.     * eval.c (apply): now checks for null arg1 in lsubr.
  2486.  
  2487. Fri Apr 12 00:09:03 1991  Aubrey Jaffer  (jaffer at kleph)
  2488.  
  2489.     * config.h scm.h (SCMPTR): created to correct address arithmetic
  2490.     on stack bounds under Borland C++.  Borland C++ now runs scm2c.
  2491.  
  2492. Wed Apr 10 21:38:09 1991  Aubrey Jaffer  (jaffer at Ivan)
  2493.  
  2494.     * sys.c (open_io_file, cw_io_file, file_position, file_set_pos,
  2495.     read_to_str) created (IO_EXTENSIONS)
  2496.  
  2497.     * config.h (IO_EXTENSIONS): defined
  2498.  
  2499.     * sys.c scm.c: lprin1f changed to iprin1
  2500.  
  2501. Wed Apr 10 12:58:59 1991  Aubrey Jaffer  (jaffer at Ivan)
  2502.  
  2503.     * sys.c (intern): line 850: for(i = alen;0 <= --i;)changed to
  2504.                     for(i = alen;0 < --i;).
  2505.     This fixed b_pos and v_pos mapping to the same symbol.
  2506.  
  2507. Wed Apr  4 00:00:00 1991  Aubrey Jaffer  (jaffer at kleph.ai.mit.edu)
  2508.  
  2509.     * released scm2b
  2510.  
  2511. Wed Apr  3 22:51:39 1991  Aubrey Jaffer  (jaffer at Ivan)
  2512.  
  2513.     * all files: eliminated types tc7_subr_2n and tc7_subr_2xn.
  2514.     Replaced with tc7_subr_2o and tc7_subr_1o so that all subr calls
  2515.     can be checked for number of arguments.
  2516.  
  2517. Tue Apr  2 23:11:15 1991  Aubrey Jaffer  (jaffer at Ivan)
  2518.  
  2519.     * code.doc: cleaned up.
  2520.  
  2521. Mon Apr  1 14:27:22 1991  Aubrey Jaffer  (jaffer at Ivan)
  2522.  
  2523.     * eval.c (ceval): fixed nasty tail recursion bug at carloop:.
  2524.  
  2525.     * scm.c (everr): still fixing error reporting.
  2526.  
  2527.     * eval.c subr.c: added flag PURE_FUNCTIONAL which removes side
  2528.     effect special forms and functions.
  2529.  
  2530.     * subr.c (substring): now allows first index to be equal to length
  2531.     of string
  2532.  
  2533.     * sys.c (lprin1f): dispatches on TYP16 of smobs.
  2534.  
  2535.     * scm.h: fixed typo in unused function defs.
  2536.  
  2537. Mon Mar 28 00:00:00 1991  Aubrey Jaffer  (jaffer at zohar.ai.mit.edu)
  2538.  
  2539.     * scm2a released: too many changes to record.  See code.doc.
  2540.  
  2541. Mon Feb 18 21:48:24 1991  Aubrey Jaffer  (jaffer at foxkid)
  2542.  
  2543.     * scm.h: types reformatted (TYP6 -> TYP7).
  2544.  
  2545.     * eval.c (ceval): Now dispatch directly on ISYMs in ceval.
  2546.  
  2547. Fri Feb 15 23:39:48 1991  Aubrey Jaffer  (jaffer at foxkid)
  2548.  
  2549.     * sys.c: #include <malloc.h> not done for VMS
  2550.  
  2551. Wed Feb 13 17:49:33 1991  Aubrey Jaffer  (jaffer at foxkid)
  2552.  
  2553.     * scm.c scl.c: added unsigned declarations to some char *
  2554.     definitions in order to fix characters having negative codes.
  2555.  
  2556.     * scm.h (MAKISYM, MAKFLAG, ICHR, MAKICHR, MAKINUM): Now cast to
  2557.     long so that their calls don't have to.  Changing MAKICHR fixed
  2558.     problem in scl.c (string2list) on IBMPC.
  2559.  
  2560.     * subr.c (quotient): support for `/' reintroduced; required by
  2561.     r3.99rs but not IEEE.
  2562.  
  2563.     * subr.c (char functions): added isascii tests for
  2564.     char-alphabetic, char-numeric?, char-whitespace?,
  2565.     char-upper-case?, and char-lower-case?.  Added test against
  2566.     char_code_limit to int2char.
  2567.  
  2568.     * subr.c (s_char_alphap): is subr_1 not lsubr.
  2569.  
  2570.     * test.scm: added tests for char-alphabetic, char-numeric?,
  2571.     char-whitespace?, char-upper-case?, and char-lower-case?.
  2572.  
  2573.     * sys.c: most `return;'s eliminated to reduce warning messages.
  2574.     Substituted breaks and reordered switch and if clauses.
  2575.  
  2576. Sun Feb  3 23:12:34 1991  Aubrey Jaffer  (jaffer at foxkid)
  2577.  
  2578.     * scm1-2: released.
  2579.  
  2580.     * sys.c (read-char peek-char) added code for EOF.
  2581.  
  2582.     * test.scm (leaf-eq?) added and file "cont.scm" removed.  I/O
  2583.     tests added.
  2584.  
  2585.     * sys.c (I/O functions) now check for input and output ports
  2586.     rather than just ports.
  2587.  
  2588.     * sys.c (lprin1f): occurences of stdout changed to f.  Newlines
  2589.     after printing port removed.
  2590.  
  2591. Thu Jan 31 22:52:39 1991  Aubrey Jaffer  (jaffer at foxkid)
  2592.  
  2593.     * subr.c (quotient): support for `/' removed; not required.
  2594.  
  2595.     * scm.c (wta): message for OUTOFRANGE fixed.
  2596.  
  2597. Mon Jan 28 12:45:55 1991  Aubrey Jaffer  (jaffer at foxkid)
  2598.  
  2599.     * eval.c (apply): added checks for number of arguments.
  2600.  
  2601.     * scm.h (CHECK_SIGINT): checks for blocked SIGINT.
  2602.  
  2603.     * sys.c (lprin1): added blocking and testing for SIGINT so that
  2604.     output won't hang on VMS.
  2605.  
  2606.     * scm.c (repl): added fflush call.
  2607.  
  2608.     * scm.c (err_head, wta): added fflush calls to error routines so
  2609.     that error message come out in proper order.
  2610.  
  2611.